根据A列中的值合并F,G列中的单元格

时间:2017-09-16 08:19:29

标签: excel-vba vba excel

我正在寻找查看A列中值的VBA代码,如果它们相同,则合并F&列中的单元格。 G在同一行中。

我不知道该怎么做。

example

2 个答案:

答案 0 :(得分:0)

您可以使用此代码:

Sub mergeFG()
    Dim cell As Range
    Dim cell2 As Range

    Set cell = Range("A2")
    Do While cell.Value <> ""
        Set cell2 = cell.Offset(1)
        Do While cell2.Value = cell.Value
            Set cell2 = cell2.Offset(1)
        Loop
        Application.DisplayAlerts = False
        cell.Offset(0, 5).Resize(cell2.Row - cell.Row).Merge
        cell.Offset(0, 6).Resize(cell2.Row - cell.Row).Merge
        Application.DisplayAlerts = True
        Set cell = cell2
    Loop
End Sub

通过其他代码拨打mergeFG,或将某个按钮链接到该代码。

答案 1 :(得分:0)

检查以下代码。我假设您已经对Column-A,ref_num进行了排序,并且还更改了Sheet#,#34; Sample&#34;代码中的工作簿表名称。

Sub merge_cells()

Application.ScreenUpdating = False

Dim ws As Worksheet
Dim counter As Integer

Set ws = ThisWorkbook.Worksheets("Sample")
end_row = ws.Range("A65536").End(xlUp).Row

counter = 1

For i = 2 To end_row

    If ws.Range("A" & i).Value = ws.Range("A" & i - 1).Value Then

        counter = counter + 1

    Else

        If counter > 1 Then

             ws.Range("F" & i - counter).Resize(counter).Merge
             ws.Range("G" & i - counter).Resize(counter).Merge

        End If

        counter = 1

    End If

 Next i

Application.ScreenUpdating = True

End Sub