Dim r as Range
Set r = Range("C2:D3")
Dim r1 as Range, r2 as Range
Set r1 = r.EntireColumn
Set r2 = r.Columns
Разве оба диапазона не представят диапазон "C:D"? Каково различие между двумя?
Нет, весь столбец представляет диапазон «C: D», столбцы представляют столбцы ячеек в диапазоне. Если вы хотите увидеть это в действии, вот небольшой фрагмент, который это демонстрирует. Поместите ненулевые значения во весь диапазон C2: D3, затем поместите некоторые в C5 и D5. Значения в C5 и D5 не изменятся в столбцах (диапазон1), теперь замените весь столбец (диапазон2) и посмотрите, что произойдет.
Sub Test()
Dim range1 As Range
Dim range2 As Range
Set range1 = Range("C2:D3").Columns
Set range2 = Range("C2:D3").EntireColumn
range1.Value = 0
End Sub
Кроме того, Столбцы
индексируются, поэтому вы можете ссылаться на первый столбец, например:
r.Columns(1)