Я бы использовал переменную (LC
) для хранения индекса столбца вашего последнего использованного столбца для удобства чтения.Вам также следует объявить переменную Worksheet
или использовать With Block
, чтобы убедиться, что все ваши объекты правильно определены.
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LC As Long
LC = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column
ws.Range(ws.Cells(2, 2), ws.Cells(2, LC)).[what?]
Вот как можно реализовать Column Loop
Option Explicit
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LC As Long
LC = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column
For i = 2 To LC
If ws.Cells(2, i) = "" Then
MsgBox "Blank Cell: " & ws.Cells(2, i).Address(False, False)
Else
MsgBox "Non-Blank Cell: " & ws.Cells(2, i).Address(False, False)
End If
Next i