Мне нужно перебрать все строки (кроме строк заголовка) и объединить все ячейки с тем же значением в том же столбце. Прежде чем я это сделаю, я уже убедился, что столбец отсортирован. Итак, у меня есть такая настройка.Объединить ячейки одного конкретного столбца, если равное значение
a b c d e
1 x x x x
2 x x x x
2 x x x x
2 x x x x
3 x x x x
3 x x x x
И это нужно
a b c d e
1 x x x x
2 x x x x
x x x x
x x x x
3 x x x x
x x x x
С моим кодом я достиг, чтобы объединить две равные клетки. Вместо этого мне нужно объединить все равные ячейки.
Dim i As Long
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(i, 1) <> "" Then
If Cells(i, 1) = Cells(i - 1, 1) Then
Range(Cells(i, 1), Cells(i - 1, 1)).Merge
End If
End If
Next i
Важно, что код объединяет только ячейки в определенном столбце, а не все столбцы листа. – gco
Это должно сделать трюк ... 'Sub MergeColumnA() Dim я As Long Dim myLastRow As Long Application.DisplayAlerts = Ложные myLastRow = Cells (Rows.Count, "A"). End (xlUp) .Row Для i = myLastRow - от 1 до 6 Шаг -1 Если ячейки (i + 1, 1) <> "" Затем Если ячейки (i, 1) = ячейки (i + 1, 1) Затем диапазон (Клетки (я, 1), Cells (я + 1, 1)). Merge End If Далее я Application.DisplayAlerts = True End Sub' – gco