2016-12-08 5 views
2

1行目の3つのセルをすべてマージしようとしています(B1から始まり、マージする最後のセルはFYです。つまりFW、FX & FYをマージする必要があります)。私はこれを使って3列ごとに列をマージしましたが、行1を横切るようにこれを変更する方法はありますか?行1の3行ごとにマージする

Function MergeHeaders() 
Application.DisplayAlerts = False 

Dim RgToMerge As Range 

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

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

Next i 
End Function 
+0

あなたのコードは、3つではなく2つの行をマージします。そして、Col Cを下に移動します.3つの行をマージしますが、行を移動して3つおきの列をマージしますか? – Rdster

+0

B1から始めて、B1、C1、D1をマージして、最後にE1、F1、G1をマージしたい最後までマージします.FW、FX、FYです。 –

答えて

2

これ以上のものはありますか?

Function MergeHeaders() 
Dim RgToMerge As Range 

    Application.DisplayAlerts = False 

    For i = 2 To ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column Step 3 
    Set RgToMerge = Range(Cells(1, i), Cells(1, i + 2)) 
    With RgToMerge 
     .Merge 
     .HorizontalAlignment = xlCenterAcrossSelection 
     .VerticalAlignment = xlCenter 
    End With 
    Next i 
End Function 
関連する問題