2017-02-12 5 views
0

"j"を列のカウンタとして使用しようとしています。私はそれを次のように使ってみましたが、私が持っているものでは "j"が行を表しています。マクロは機能しますが、行25-27だけをコピーします。動的列番号を使用したコピーとループ

jを列番号として使用する方法を教えてもらえますか?また、これをコピーして列の幅も保持する方法はありますか?

Sub CopyFinal() 


     Set i = Sheets("MedicalBenefits") 
     Set e = Sheets("Final") 

     Dim j As Integer 
     j = 2 

     Application.ScreenUpdating = False 

     Do Until IsEmpty(i.Cells(5, j)) 
      i.Range(j & "5:" & j & "27").Copy e.Range(j & "5:" & j & "27") 
      j = j + 1 
     Loop 

     Application.ScreenUpdating = True 

End Sub 
+0

?あなたが投稿したコードからは分かりませんし、 "列"のカウンターとして "j"を使う "は、"あなたは '15:127'、' 24 :227 "など。" – Comintern

答えて

1

スイッチ整数列のインデックスに使用する構文Cells(rowIndex, columnIndex)

Do Until IsEmpty(i.Cells(5, j)) 
     i.Cells(5, j).Resize(23).Copy e.Cells(5, j) 
     j = j + 1 
    Loop 
+0

これは機能します。ありがとうございました。私はVBAの新機能なので、サイズを調べて、これを前進させることは間違いありません。 – JordanCA57

+0

ようこそ。良いコーディング! – user3598756

0

使用Offset()

j = 0 

    Application.ScreenUpdating = False 

    Do Until IsEmpty(range("B5").offset(0,j)) 
     i.Range("B5:B27").Offset(0,j).Copy e.Range("B5:B27").Offset(0,j) 
     j = j + 1 
    Loop 
正確に何をしようとする
関連する問題