2017-01-05 16 views
1

for..nextループで範囲変数を定義することができるのだろうか?そのVBA - ループを使って範囲変数を定義する

Public Sub DefineRanges() 
Dim i As Long 
Dim rngLine1, rngLine2 As Range 

For i = 1 To 2 
    Set Replace("rngLinex", "x", i) = ThisWorkbook.Sheets("Sheet1").Range("A" & i) 
Next i 
End Sub 

またはその

Public Sub DefineRanges() 
Dim i As Long 
Dim rngLine1, rngLine2 As Range 

For i = 1 To 2 
    Set rngLine & i = ThisWorkbook.Sheets("Sheet1").Range("A" & i) 
Next i 
End Sub 

などのような

何かが事前にありがとうございます。

答えて

4

@JohnColemanは、範囲の配列を使用述べたように:これは移動するための方法である

Sub defineranges() 
Dim i As Long 
Dim RngArr(1 To 2) As Range 

For i = 1 To 2 
    Set RngArr(i) = ThisWorkbook.Worksheets("Sheet1").Range("A" & i) 
Next i 

For i = 1 To 2 
    Debug.Print RngArr(i).Value 
Next i 
End Sub 
+0

を。私の2番目の提案は実際には(少なくとも明らかにそうではない)動作しないので、私はそのコメントを削除した。 –

+0

パーフェクト..本当にありがとうu – user3286479

+0

私は文字列に同じthigを適用しようとすると、実際には動作しません..任意の提案をしてください? Dim strArr(1 to 2)は文字列として適用されるようですか? – user3286479

関連する問題