2016-06-14 564 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