ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5617|回复: 18

[求助] 请求大神做一个10选8的所有组合可以显示出来的EXCEL

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-5-14 14:25 | 显示全部楼层 |阅读模式
10选8的所有组合可能,10个数字比如1-10   从中任选8个的所有组合可能,一共45种,怎么在excel显示?这10个数字可以自己到时候再改、

TA的精华主题

TA的得分主题

发表于 2015-5-14 17:16 | 显示全部楼层
本帖最后由 gxl19870625 于 2015-5-14 18:06 编辑

先占个楼层,还没写完.
  1. Sub test1()
  2. Dim arr, i As Integer, j As Integer, k As Integer, m&
  3. Sheets(1).Cells.Clear
  4. k = 1
  5. arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  6. For i = 1 To 10
  7.    For j = 1 To 10
  8.     arr(i - 1) = ""
  9.     arr(j - 1) = ""
  10.     Sheets(1).Cells(k, 1).Resize(1, 10) = arr
  11.     k = k + 1
  12.     arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  13.    Next j
  14. Next i

  15. For m = 1 To Sheets(1).UsedRange.Rows.Count
  16.   If Application.WorksheetFunction.CountBlank(Sheets(1).Range("A" & m & ":J" & m)) = 1 Then
  17.    Sheets(1).Cells(m, "K") = 1
  18.   End If
  19. Next m

  20. Sheets(1).Columns("K:K").AutoFilter Field:=1, Criteria1:="<>"
  21. Sheets(1).Columns("K:K").EntireRow.Delete

  22. Sheets(1).Range("A1:J" & Sheets(1).UsedRange.Rows.Count).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft

  23. Sheets(1).UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8), Header:=xlNo

  24. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-5-18 18:09 | 显示全部楼层
这多天了自己的帖子都不来跟了,这习惯以后谁还帮你?

TA的精华主题

TA的得分主题

发表于 2015-5-18 18:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gxl19870625 发表于 2015-5-18 18:09
这多天了自己的帖子都不来跟了,这习惯以后谁还帮你?

老師您好,此代碼是只有1-10號而已嗎?

TA的精华主题

TA的得分主题

发表于 2015-5-18 20:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
good8195 发表于 2015-5-18 18:38
老師您好,此代碼是只有1-10號而已嗎?

你看看你原帖说的什么

TA的精华主题

TA的得分主题

发表于 2015-5-18 20:23 | 显示全部楼层
gxl19870625 发表于 2015-5-18 20:10
你看看你原帖说的什么

我不是發帖人拉,不過我看不懂他說什麼所以想了解這是幾個數字的組合

TA的精华主题

TA的得分主题

发表于 2015-5-18 20:48 | 显示全部楼层
good8195 发表于 2015-5-18 20:23
我不是發帖人拉,不過我看不懂他說什麼所以想了解這是幾個數字的組合

哦,不好意思,没注意,1-10 十选八

TA的精华主题

TA的得分主题

发表于 2015-5-18 20:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请测试
  1. Sub test()
  2.     Dim ar, br, cr(), n&, i&, j&, temp
  3.     ar = [A1:A10]
  4.     i = LBound(ar)
  5.     Do
  6.         j = i + 1
  7.         Do
  8.             br = ar
  9.             br(i, 1) = ""
  10.             br(j, 1) = ""
  11.             temp = ""
  12.             For k = LBound(br) To UBound(br)
  13.                 If br(k, 1) <> "" Then temp = temp & "," & br(k, 1)
  14.             Next k
  15.             n = n + 1
  16.             ReDim Preserve cr(1 To n)
  17.             cr(n) = Mid(temp, 2)
  18.             j = j + 1
  19.         Loop Until j > UBound(ar)
  20.         i = i + 1
  21.     Loop Until i = UBound(ar)
  22.     [C1].Resize(n, 1) = Application.Transpose(cr)
  23. End Sub
复制代码
test.zip (7.97 KB, 下载次数: 62)

TA的精华主题

TA的得分主题

发表于 2015-5-18 21:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
gxl19870625 发表于 2015-5-18 20:48
哦,不好意思,没注意,1-10 十选八

沒關係,我知道你很怒,難免會誤會
因為我是excel新人,所以我在這邊到處看大家代碼學習
主要是讓自己能看懂,不懂然後再發問

TA的精华主题

TA的得分主题

发表于 2015-5-18 21:25 | 显示全部楼层
good8195 发表于 2015-5-18 21:07
沒關係,我知道你很怒,難免會誤會
因為我是excel新人,所以我在這邊到處看大家代碼學習
主要是讓自己能看 ...

学习态度可嘉,给你点赞!不过这个发帖的人态度不咋地,发了求助就消失了.

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-17 00:07 , Processed in 0.026806 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表