2013-07-14 3 views
1

У меня проблема слияния ячеек в excel на основе одинаковых значений для одного столбца - я хотел бы сохранить данные других столбцов - давайте посмотрим на некоторые скриншоты, и это будет яснее: enter image description hereКак слить ячейки на основе аналогичных значений - Excel 2010

Это выше начальное состояние данных, , что я хочу, чтобы достичь это:

enter image description here

Я уверен, что есть способ сделать это с VB или formulas- I нужен самый простой способ, как это для клиента, и это должно быть легко.

Спасибо всем, кто продвинулся вперед.

ответ

4
Option Explicit 

Private Sub MergeCells() 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 

    Dim rngMerge As Range, cell As Range 
    Set rngMerge = Range("A1:A100") 'Set the range limits here 

MergeAgain: 
    For Each cell In rngMerge 
     If cell.Value = cell.Offset(1, 0).Value And IsEmpty(cell) = False Then 
      Range(cell, cell.Offset(1, 0)).Merge 
      GoTo MergeAgain 
     End If 
    Next 

    Application.DisplayAlerts = True 
    Application.ScreenUpdating = True 
End Sub 

Вы можете жестко границу диапазона (то есть последняя строка в колонке А), чтобы проверить, есть пользовательский ввод, что каждый раз, или программно найти последнюю строку в диапазоне. В любом случае, это должно заставить вас начать.

Кстати, вы можете найти последнюю строку в колонке А со следующим:

Dim i As Integer 
    i = Range("A1").End(xlDown).Row 
    Set rngMerge = Range("A1:A" & i) 
+0

Каков наилучший способ продлить этот макрос для запуска на все столбцы? – Luc

Смежные вопросы