2016-06-14 567 views
0

我想弄清楚如何合併列中的每個2個單元格。儘管我覺得我已經過度了。我的話如果沒有必要,我只是在玩耍。下面是代碼:在VBA中合併並居中每個2個單元格

Dim RgToMerge As String 

    For i = 1 To ActiveSheet.Cells(Rows.Count, 3).End(xlUp).row 
    RgToMerge = "" 
    If Cells(i, 3) = "" Then 
    RgToMerge = "$C$" & i & ":$C$" & i + 1 
    With range(RgToMerge) 
     .Merge 
     .HorizontalAlignment = xlCenterAcrossSelection 
     .VerticalAlignment = xlCenter 

    End With 
    Else 
    End If 
Next I 
End sub 
+0

不確定你的意思是「每2個細胞」。這和你問的最後一個問題有什麼不同? –

+0

我希望能夠合併C列中的每2個單元格行,以便C3:C4,C5:C6,C7:C8等,而不必輸入所有這些行 – beks123

+0

嘗試將「第2步」添加到您的結尾'爲...',並開始與'對於我= 3 ...' –

回答

1

取出if-statement,使這些微妙的變化

Dim RgToMerge As Range 


For i = 3 To ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row Step 2 

    Set RgToMerge = Range(Cells(i, 3), Cells(i + 1, 3)) 
    With RgToMerge 
     .Merge 
     .HorizontalAlignment = xlCenterAcrossSelection 
     .VerticalAlignment = xlCenter 
    End With 

Next i 

步驟通過每隔一行2將循環。第3步每隔三行做一次,等等。

+0

這似乎並沒有工作 – beks123

+0

它工作時,我測試它。你能給我一個你的輸入樣本嗎? –

+0

好吧我看到它的作品,當我在那裏輸入一個值..因爲我正在構建一個模板,是否有可能合併每個2個單元格中沒有任何值在其中 – beks123