Проверяйте только те строки, которые заполнены в Excel. - PullRequest
0 голосов
/ 06 августа 2020

Мне нужна одна помощь в Excel. У меня есть рабочий лист, который содержит 10 строк и 7 столбцов. Если все столбцы заполнены, я помещаю «ОК» в столбец 8, в противном случае данные неполные ». Он работает отлично. Но проблема в том, что я оставляю другой столбец пустым (B, C, D & E), кроме столбца номер A и B (они заполнены). Он все еще печатает «ОК», но должно быть «Данные неполные». Пожалуйста, помогите мне, как мне реализовать здесь этот logi c.

lastrow = sheet1. Range ("A" & Rows.Count) .End (xlUp) .Row For rownum = 1 To lastrow

For colnum = 1 To 7

  If IsEmpty(Cells(rownum, colnum)) Then   '<== To Check for Empty Cells
    Cells(rownum, 8) = "Data Incomplete"     '<== To Enter value if empty cell found
    Cells(rownum, colnum).Interior.ColorIndex = 3
    MsgBox "Please fill the column highlighted by Red"
    
  Else
    Cells(rownum, 8) = "OK"
 End If
Next colnum

Next rownum

1 Ответ

0 голосов
/ 06 августа 2020

Как говорит BigBen ... вы можете сделать это с помощью формул и условного форматирования. Однако, если вам нужно решение VBA ... переставьте logi c следующим образом. Обратите внимание, что он не сбрасывает цвет заливки ... но вы можете добавить это, если хотите.

    Option Explicit
    
    
    Public Sub CheckEmptyCells()
    
        Dim lastrow As Long
        Dim rownum As Long
        Dim colnum As Long
        Dim EmptyCellFound As Boolean
        
        lastrow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
        For rownum = 1 To lastrow
            EmptyCellFound = False
            For colnum = 1 To 7
                If IsEmpty(Cells(rownum, colnum)) Then   '<== To Check for Empty Cells
                  Cells(rownum, colnum).Interior.ColorIndex = 3
                  EmptyCellFound = True
                  MsgBox "Please fill the column highlighted by Red"
                End If
            Next colnum
                
            If EmptyCellFound Then
                Cells(rownum, 8) = "Data Incomplete"     '<== To Enter value if empty cell found
            Else
                Cells(rownum, 8) = "OK"
            End If
            
        Next rownum

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...