В настоящее время у меня есть 3 макроса, которые работают для моей первой строки. Я прикрепил их ниже. Теперь я хочу создать цикл, чтобы этот код выполнялся для всех строк до последней строки ввода. Он печатает то, чего не хватает, когда в столбцах B, D и E. обнаружена пустая ячейка (в конечном итоге я добавлю три макроса в один, чтобы сделать ее более краткой)
Это правильный код для первой строки
Sub error_field()
Sheets("1099-Misc_Form_Template").Select
Range("A2").Select
If Range("A2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & "PayorID"
End If
End Sub
'checking if TIN is empty
Sub error_field2()
Sheets("1099-Misc_Form_Template").Select
Range("A2").Select
If Range("E2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & ", TIN"
End If
End Sub
'checking if AccountNo is empty
Sub error_field3()
Sheets("1099-Misc_Form_Template").Select
Range("A2").Select
If Range("F2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & ", AccountNo"
End If
End Sub
Вот что я пробовал для цикла:
'repeating for all rows
Sub repeat_all_rows()
Dim sh As Worksheet
Dim rw As Range
Dim RowCount As Integer
RowCount = 0
Set sh = ActiveSheet
For Each rw In sh.Rows
If Range("A2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & "PayorID"
If Range("E2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & ", TIN"
If Range("F2").Value = "" Then
ActiveCell.Value = ActiveCell.Value & ", AccountNo"
Exit For
End If
RowCount = RowCount + 1
Next rw
End Sub
Я хочу написать код, который будет работать для всех строк, пока не будет найден последний ряд данных.
Успокойся, я новичок, поэтому знаю, что мой код, наверное, отстой.