У меня большой Excel со многими строками, которые могут увеличиваться в будущем, поэтому я хочу идентифицировать способ, если при нажатии кнопки я могу проверить, пусто ли какое-либо поле, я пробовал макросы ниже с проверкой значения ячейки и ее работы, но как выбрать все столбцы и их ячейки для проверки пустого значения
Sub ProcFile()
Dim wsRaw As Worksheet: Set wsRaw = ThisWorkbook.Sheets("Shell2")
Dim iRow, x, LRow, sRow, col As Long
LRow = getLastRow(wsRaw, "A")
If wsRaw.Range("A6").Value = "" Then MsgBox "Raw Data tab is Empty!!", vbCritical: Exit Sub
End Sub
1 ответ
Адаптируйте приведенный ниже код. Он получает последние непустые ячейки в строке 1 (при условии, что содержимое строки является заголовками). Это позволяет получить последний столбец. Затем пропустите каждый столбец и строку (при необходимости).
Sub Loop_Column_Row()
Dim lRow, lCol As Long
'Find the last non-blank cell in row 1
'This assumes that the first row has column headers
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
'Loop through columns
For x = 1 To lCol
'Find the last non-blank cell in the column
lRow = Cells(Rows.Count, x).End(xlUp).Row
'Loop through rows
'Start from row 2 as row 1 is the row with headers
For y = 2 To lRow
If Cells(y, x) = "" Then
'Display message box when empty cell is found
MsgBox "Cell in Row: " & y & " Column: " & x & " is empty"
'Stop executing the method when 1st empty cell found
Exit Sub
End If
Next y
Next x
End Sub