Range("B:D") постоянно меняется Может и Range("B:B") и Range("B:C") и Range("B:D")
каждый раз нужно находить из этого Range, номера столбцов. По сути их максимум 3. Основная проблема что переопределить входящую переменную Range("B:D") возможности нет. На входе всегда буквенный диапазон. Он может быть смещен, в любую сторону.
Пример желаемой обработки: Range("B:B") -> даст № столбца clmn1 = 2 clmn2 = 0(нет №, так как только 1 столбец) clmn3=0(нет №, так как только 1 столбец) Range("B:C") -> даст № столбца clmn1 = 2 clmn2 = 3 clmn3=0 (нет №, так как только 1 столбец) Range("B:D") -> даст № столбца clmn1 = 2 clmn2 = 3 clmn3=4
Sub random_function()
Dim random_range As Range
Set random_range = Range("B:D")
count_clmn = random_range.Columns.count
number_clmn = random_range.Column
If count_clmn = 1 Then
clmn1 = number_clmn
clmn2 = 100
clmn3 = 100
End If
If count_clmn = 2 Then
clmn1 = number_clmn
clmn2 = number_clmn + 1
clmn3 = 100
End If
If count_clmn = 3 Then
clmn1 = number_clmn
clmn2 = number_clmn + 1
clmn3 = number_clmn + 2
End If
End Sub