2016-09-14 122 views
0

我想在Excel中使用VBA将三个数组的内容的所有可能组合写入列以创建一个单词表。我知道如何遍历数组,并获得一些我想要的输出,但我无法弄清楚如何构建循环,以便给出baseWord(n)的所有可能组合。numberCharSet(n)& numberCharSet & specialCharSet(n)。解析多个数组并写入所有可能的组合

如何正确地循环baseWord数组以获得每个baseWord与specialCharSet和numberCharSet数组的内容的所有组合?

例如: Cloud1! Cloud2 @ Cloud1# Cloud1 $ Cloud2! 等等

Private Sub createWordlist() 

Dim baseWord(1 To 2) As String 
baseWord(1) = "Cloud" 
baseWord(2) = "cloud" 

Dim numberCharSet(1 To 4) As String 
numberCharSet(1) = "1" 
numberCharSet(2) = "2" 
numberCharSet(3) = "3" 
numberCharSet(4) = "4" 


Dim specialCharSet(1 To 4) As String 
specialCharSet(1) = "!" 
specialCharSet(2) = "@" 
specialCharSet(3) = "#" 
specialCharSet(4) = "$" 

x = 1 
y = 1 
z = 4 
w = 1 

For Each Item In baseWord 
    Range("A" & x).Value = baseWord(w) & numberCharSet(y) & specialCharSet(z) 
    x = x + 1 
    y = y + 1 
    z = z - 1 
Next 

End Sub 
+1

需要三个嵌套循环为每个数组。 –

回答

2

由于@ScottCraner在评论中提到的,所有你需要做的是巢3个循环:

For Each word In baseWord 
    For Each num In numberCharSet 
     For Each special In specialCharSet 
      Debug.Print word & num & special 
     Next 
    Next 
Next