Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2258|回复: 2

[已解决]用VBA把A列单元格 每一个数字全排列结果保存CH列

[复制链接]
发表于 2017-5-10 08:04 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-5-10 14:17 编辑

用VBA把A列单元格   每一个数字全排列结果保存CH列
最佳答案
2017-5-10 08:46
  1. Sub aaa()
  2. Dim arr, i&, j&, a&, b&, c&, brr, n&
  3. arr = [a1].CurrentRegion
  4. ReDim brr(1 To UBound(arr), 1 To 6)
  5. For i = 1 To UBound(arr)
  6.   For a = 1 To 3
  7.     For b = 1 To 3
  8.       For c = 1 To 3
  9.         If a <> b And b <> c And a <> c Then
  10.           j = j + 1
  11.           n = arr(i, 1)
  12.           brr(i, j) = "'" & Mid(n, a, 1) & Mid(n, b, 1) & Mid(n, c, 1)
  13.         End If
  14.       Next c
  15.     Next b
  16.   Next a
  17.   j = 0
  18. Next i
  19. [c1].Resize(UBound(arr), 6) = brr
  20. End Sub
复制代码

用VBA把A列单元格 每一个数字全排列结果保存CH列.rar

10.67 KB, 下载次数: 7

发表于 2017-5-10 08:46 | 显示全部楼层    本楼为最佳答案   
  1. Sub aaa()
  2. Dim arr, i&, j&, a&, b&, c&, brr, n&
  3. arr = [a1].CurrentRegion
  4. ReDim brr(1 To UBound(arr), 1 To 6)
  5. For i = 1 To UBound(arr)
  6.   For a = 1 To 3
  7.     For b = 1 To 3
  8.       For c = 1 To 3
  9.         If a <> b And b <> c And a <> c Then
  10.           j = j + 1
  11.           n = arr(i, 1)
  12.           brr(i, j) = "'" & Mid(n, a, 1) & Mid(n, b, 1) & Mid(n, c, 1)
  13.         End If
  14.       Next c
  15.     Next b
  16.   Next a
  17.   j = 0
  18. Next i
  19. [c1].Resize(UBound(arr), 6) = brr
  20. End Sub
复制代码

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

发表于 2017-5-10 13:00 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 00:30 , Processed in 0.444036 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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