2017-09-13 219 views
0

如何添加第三個和第四個範圍/數組到下面的代碼?笛卡爾積VBA

Sub cartesianproduct() 
Dim startrange As Range 

range1 = Application.InputBox(Prompt:="Please Select First Range", Type:=8) 
range2 = Application.InputBox(Prompt:="Please Select Second Range", Type:=8) 


Set startrange = Application.InputBox(Prompt:="Please select where you want to put it", Type:=8) 
array1 = [range1] 
array2 = [range2] 


startrange.Select 
For i = 1 To UBound(array1) 
    For x = 1 To UBound(array2) 
     z = z + 1 
     ActiveCell.Offset(z, 0).Value = array1(i, 1) 
     ActiveCell.Offset(z, 1).Value = array2(x, 1) 
    Next 
Next 
End Sub 
+0

我需要添加range3,範圍4和數組1,數組2,不知道該怎麼下startrange.select ... – JAGIMAC

回答

0
Sub cartesianproduct() 
Dim startrange As Range 

range1 = Application.InputBox(Prompt:="Please Select First Range", Type:=8) 
range2 = Application.InputBox(Prompt:="Please Select Second Range", Type:=8) 
range3 = Application.InputBox(Prompt:="Please Select Third Range", Type:=8) 


Set startrange = Application.InputBox(Prompt:="Please select where you want to put it", Type:=8) 
array1 = [range1] 
array2 = [range2] 
array3 = [range3] 


startrange.Select 
For i = 1 To UBound(array1) 
    For x = 1 To UBound(array2) 
    For y = 1 To UBound(array3) 
     Z = Z + 1 
     ActiveCell.Offset(Z, 0).Value = array1(i, 1) 
     ActiveCell.Offset(Z, 1).Value = array2(x, 1) 
     ActiveCell.Offset(Z, 2).Value = array3(y, 1) 
    Next 
Next 
Next 
End Sub 
+0

做盡管此代碼可以回答這個問題,提供有關額外背景** *如何*和**爲什麼它解決了問題會提高答案的長期價值。 – Alexander