2016-12-27 16 views
0

これはループで別々に書き込むことができると想定していますが、わかりません。私は最高のアクセスVBAを知らない。誰かが何かを提案できますか?またループ内の範囲の値を交互に値を設定する方法

.Range("E4").Value = "O" 
.Range("F4").Value = "U" 
.Range("G4").Value = "O" 
.Range("H4").Value = "U" 
.Range("I4").Value = "O" 
.Range("J4").Value = "U" 
.Range("K4").Value = "O" 
.Range("L4").Value = "U" 
.Range("M4").Value = "O" 
.Range("N4").Value = "U" 
.Range("O4").Value = "O" 
.Range("P4").Value = "U" 
.Range("Q4").Value = "O" 
.Range("R4").Value = "U" 
.Range("S4").Value = "O" 
.Range("T4").Value = "U" 
.Range("U4").Value = "O" 
.Range("V4").Value = "U" 
.Range("W4").Value = "O" 
.Range("X4").Value = "U" 
.Range("Y4").Value = "O" 
.Range("Z4").Value = "U" 
.Range("AA4").Value = "O" 
.Range("AB4").Value = "U" 
.Range("AC4").Value = "O" 
.Range("AD4").Value = "U" 
.Range("AE4").Value = "O" 
.Range("AF4").Value = "U" 
.Range("AG4").Value = "O" 
.Range("AH4").Value = "U" 
.Range("AI4").Value = "O" 
.Range("AJ4").Value = "U" 
.Range("AK4").Value = "O" 
.Range("AL4").Value = "U" 

今、これここ

.Range("A5", "A6").Merge 
.Range("A7", "A8").Merge 
.Range("A9", "A10").Merge... 

.Range("B5", "B6").Merge 
.Range("B7", "B8").Merge 
.Range("B9", "B10").Merge.... 
+0

編集で2番目の質問をしないでください。別の質問がある場合は、別の質問を投稿してください。 –

答えて

2

を助けてください、ループのないアプローチです:

Sub test() 
    Dim s As String 
    s = Trim(Application.WorksheetFunction.Rept("O U ", 17)) 
    Range("E4:AL4").Value = Split(s) 
End Sub 
+0

ミントは完璧に感謝してくれます。私に解決策を送り、セルをマージすることができれば感謝します:) –

+0

@ZdravkoLukicそれは本当に別の質問です。そうする場合は、省略記号( '... ')の意味を明確にする必要があります。自分自身で解決しようとすると、( '.Range'に意味を与える' With'構造体を使用していると仮定すると) '.Range(.Cells(i、1),. Cells(i + 1,1))。Merge'をステップサイズ2のforループに入れます。 –

0

あなたはマクロレコーダーでループを記録することはできませんが、私はあなたを考えますそれを試してコードをチェックアウトする必要があります。あなたはそれからたくさん学ぶでしょう。まあ、それはあなたが持っているものを得た方法かもしれない。とにかく、最初にVBAを学んだときに、マクロレコーダーが役立つことが分かりました。

Sub Macro1() 
    Range("A1:D1").Merge (True) 
    Range("A2:D2").Merge (True) 
    Range("A3:D3").Merge (True) 
End Sub 
関連する問題