2016-12-27 82 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