Зачем что-то усложнять?Вы можете просто объединить ячейки, как вы указали в своем вопросе (см. Sub: OCCAMS_RAZOR
).Если вы хотите сделать что-то более сложное, , что превышает IMO , вы можете перебрать массив с предопределенными диапазонами для объединения (см. Sub: OVER_KILL
).
Реальный вопрос в том, зачем вам нужны эти диапазоны для объединения?
Как упомянуто @BruceWayne, стоимость объединения ячееквысокий, когда дело доходит до анализа / резюме.Объединенные ячейки мешают простым ссылкам на ячейки, формулам и VBA.Они также удаляют возможность суммирования данных в таблицах / сводках - это означает, что графики должны быть построены вручную.Дело в том, что есть много минусов, которые необходимо учитывать.
Sub OCCAMS_RAZOR()
Dim Mail As Range, Phys As Range, Books As Range, Records As Range
Set Mail = Range("A1:A3"): Mail.Merge
Set Phys = Range("B1:B3"): Phys.Merge
Set Books = Range("A4:D4"): Books.Merge
Set Records = Range("C1:D3"): Records.Merge
End Sub
Sub OVER_KILL()
Dim Arr: Arr = Array("A1:A3", "B1:B3", "A4:D4", "C1:D3")
Dim i As Long
For i = LBound(Arr) To UBound(Arr)
Range(Arr(i)).Merge
Next i
End Sub
На обоих подводных лодках все .Range
должны быть квалифицированы с рабочим листом