2016-09-03 6 views
0

私はVBAにかなり慣れていません。このループを作成する方法を理解できません。私は4つの別々のステートメントを設定し、このように動作しますが、私はこの1つのステートメントを作成したいと思います。応答ティムためVBAプログラムで多数のループを1つにマージするにはどうすればよいですか?

i = 1 
Do Until i > combos 
     Range(Cells(i, 10), Cells(i + Defrepeat - 1, 10)) = Range(Cells(3, 4), Cells(3, 4)) 
i = i + TErepeat 
Loop 

w = 4 
Do Until w > combos 
     Range(Cells(w, 10), Cells(w + Defrepeat - 1, 10)) = Range(Cells(4, 4), Cells(4, 4)) 
w = w + TErepeat 
Loop 

p = 7 
Do Until p > combos 
     Range(Cells(p, 10), Cells(p + Defrepeat - 1, 10)) = Range(Cells(5, 4), Cells(5, 4)) 
p = p + TErepeat 
Loop 

k = 10 
Do Until k > combos 
     Range(Cells(k, 10), Cells(k + Defrepeat - 1, 10)) = Range(Cells(6, 4), Cells(6, 4)) 
k = k + TErepeat 
Loop 

答えて

1
Dim c As Range, i As Long, n As Long 

Set c = Cells(3, 4) 

For n = 1 To 10 Step 3 
    i = n 
    Do Until i > combos 
     Range(Cells(i, 10), Cells(i + Defrepeat - 1, 10)) = c.Value 
     i = i + TErepeat 
    Loop 
    Set c = c.Offset(1, 0) 
Next n 
+0

感謝。しかし、2番目のループから始まる問題があるようです。エラーメッセージ:「実行時エラー1004.アプリケーション定義またはオブジェクト定義のエラー」が表示されます。それは初めて実行され、働いたが、2番目のループは機能しませんでした。 – poijnqwedc

+0

私の間違いのTim。完璧に動作します!あなたの助けをありがとう! – poijnqwedc

関連する問題