2016-06-14 4 views
0

私はどのように2つのセルを1つの列にマージするかを考えようとしています。私はそれを考えすぎているように感じる。私のthen then文は必要ありません。私はただ遊んでいました。ここでは、コードは次のとおりです。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:C3、C4、C5:C6、C7:C8などのように、Cの2行ごとにマージできるようにしたいのですが、それらをすべて入力する必要はありません – beks123

+0

' 'For ...'と 'For i = 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では、3行おきなどが行われます。

+0

これはうまくいきませんでした – beks123

+0

私はそれをテストしました。あなたの入力のサンプルを教えてもらえますか? –

+0

大丈夫私はそこに値を入力すると動作することがわかります。私はテンプレートを構築しているので、まだ2つのセルを値なしでマージすることは可能です – beks123

関連する問題