2016-12-27 83 views
0

我認爲這可以寫成不同的循環,但我不知道如何。我不知道最好的Access 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

這裏是一個無環路的方法:

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這真的是一個單獨的問題,它應該發佈這樣。如果你這樣做,你需要澄清省略號的含義('...')。試着自己解決它:注意(假設你正在使用'With'結構給'.Range'賦予意義),你可以使用語句'.Range(.Cells(i,1),. Cells(i + 1,1))。合併在步長爲2的for循環中。 –

0

你不能用宏記錄錄製的循環,但我想你應該嘗試一下並檢查代碼。你會從中學到很多東西。那麼,也許這就是你得到你所得到的。無論如何,當我第一次學習VBA時,我發現宏錄像機很有幫助。

Sub Macro1() 
    Range("A1:D1").Merge (True) 
    Range("A2:D2").Merge (True) 
    Range("A3:D3").Merge (True) 
End Sub