Попробуйте это ...
Public Sub SelectColumnsWithStartAndOffset()
Dim strFirstColumn As String, lngOffset As Long, strLastColumn As String
strFirstColumn = "T"
lngOffset = 40
With Sheet1
strLastColumn = Split(.Range(strFirstColumn & "1").Offset(0, lngOffset).Address, "$")(1)
.Range(strFirstColumn & ":" & strLastColumn).Select
End With
End Sub
Возможно, вам просто нужно отрегулировать смещение 1 (дать или взять), чтобы убедиться, что выбрано правильное количество столбцов.
Надеюсьэто работает для вас.