2017-06-11 11 views
0

で別の行を選択する先頭の 、私はその後、1 & 4行、その後、1 & 3行、行1 & 2]を選択します 私は次のようにしましたが、行番号の代わりに列iとして "i"を扱うことができます。どのようにしてこの問題を修正できますか?は等...、私は、次のループを実行しようとしていため、次のループ

Sub test123() 
Dim i As Long 
For i = 2 To 51 
    Range("1:1,i:i").Select 
    Selection.Copy 
'other code 
Next i 
End Sub 

答えて

2

あなたはString以内にあなたの変数名を挿入することはできません - あなたの代わりにString内の変数の値を含める必要があります。

Sub test123() 
    Dim i As Long 
    For i = 2 To 51 
     Range("1:1," & i & ":" & i).Select 
     Selection.Copy 
     'other code 
    Next i 
End Sub 

注:どこへ行く

Sub test123() 
    Dim i As Long 
    For i = 2 To 51 
     Range("1:1," & i & ":" & i).Copy 
     'other code 
    Next i 
End Sub 
+0

最終的にいい修正: –

+0

@ShaiRado - 私はまた、 'With ActiveSheet'を置くべきです - 一度に1つのレッスン。 – YowE3K

+0

ありがとうございました。 – Geoffrey

2

もう一つ別の方法でコピーしたいRowsの各対の間、Unionを使用している:実際にSelect範囲はする必要があってはなりません

Option Explicit 

Sub test123() 

Dim i As Long 
For i = 2 To 51 
    Union(Rows(1), Rows(i)).Copy 
    'other code  
Next i 

End Sub 

:コピーする前に範囲がSelectである必要があります。完全な範囲で直接コピーを使用できます。

+0

'Option Explicit'を追加してうまくいっています! – YowE3K

関連する問題