Я бы сделал это для B1 и B15:
Option Explicit
Sub Test()
With ThisWorkbook.Sheets("MySheet") 'change MySheet for your sheet name
Dim MyRange As Range
Set MyRange = .Cells(1, 2) 'This is your constant
Dim LastCell As Range
Set LastCell = .Cells(.rows.count, "B").End(xlUp)
End With
End Sub
Редактировать:
Для того, что вы спрашиваете в комментарии, код будет такой:
Option Explicit
Sub Test()
With ThisWorkbook.Sheets("MySheet") 'change MySheet for your sheet name
Dim lrow As Long
lrow = .Cells(.Rows.Count, "B").End(xlUp).Row
.Range("B1:B" & lrow & ",D1:D" & lrow & ",F1:AJ" & lrow).Copy
End With
End Sub
если вам нужно несколько столбцов, вам нужно указать диапазон, например "A1, C1, H1".Одна строковая запятая разделяет все ваши диапазоны, поэтому вам нужно объединить переменную, проверяя последнюю строку в этой строке.