Visual Basic - 从AAAA到ZZZZ的组合

时间:2017-06-12 13:02:47

标签: vba

是否有一种有效的方法可以循环遍历从AAAA到ZZZZ的所有组合(AAAA,AAAB,AAAC ...... AABA,AABB等等)。类似于0000至9999。

我个人的想法是为四列中的每个字母分配一个数字,然后从那里开始。但我相信你们有一个更好的解决方案来解决我的问题。我在运行代码时会使用Excel。

我目前使用的代码完全适用于数字0000到9999.在此处找到并由我修改:Combinations of 4-digit numbers whose individual digits sum to 5

Sub test()

Dim w As Long, x As Long, y As Long, z As Long
For w = 0 To 9
For x = 0 To 9
For y = 0 To 9
For z = 0 To 9
    MsgBox w & x & y & z ' Message box is just for displaying numbers.
Next
Next
Next
Next

End Sub

1 个答案:

答案 0 :(得分:3)

尝试Asc()Chr()功能: Asc将一个Character转换为其Ascii-Value(让循环从65运行到90)。 Chr将数字转换回字符。

For w = Asc("A") To Asc("Z")
  For x = Asc("A") To Asc("Z")
    For y = Asc("A") To Asc("Z")
      For z = Asc("A") To Asc("Z")
         MsgBox Chr(w) & Chr(x) & Chr(y) & Chr(z) ' Message box is just for displaying numbers.
      Next z
    Next y
  Next x
Next w