excel vba нужен контроль, который будет проверять, есть ли пустая ячейка

    Private Function test()
    Dim S1 As String, S2 As String

    Dim lRow As Long, i As Long
    Dim ws As Worksheet

    Set ws = ActiveWorkbook.Sheets("pppdp")
    With ws
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row
        For i = 19 To lRow
    End Function

Привет, у меня есть лист Excel для экспорта таблицы в xml, поэтому мне нужен элемент управления, который будет проверять, есть ли пустая ячейка в диапазоне от A до R, я начал с этого, но остановился на этом и не знаю, что делать дальше.


person Marko Pantic    schedule 09.02.2014    source источник


Ответы (1)


есть ли пустая ячейка в диапазоне от A до R?

Логика состоит в том, чтобы проверить, равно ли общее количество ячеек общему количеству заполненных ячеек.

Как это?

Sub Sample()
    If test = False Then
        MsgBox "Range A to R has empty cells"
    Else
        MsgBox "No Empty Cells"
    End If
End Sub

Private Function test() As Boolean
    Dim lRow As Long
    Dim ws As Worksheet

    Set ws = ActiveWorkbook.Sheets("pppdp")

    With ws
        If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
            lRow = .Range("A:R").Find(What:="*", _
                          After:=.Range("A1"), _
                          Lookat:=xlPart, _
                          LookIn:=xlFormulas, _
                          SearchOrder:=xlByRows, _
                          SearchDirection:=xlPrevious, _
                          MatchCase:=False).Row
        Else
            lRow = 1
        End If

        test = Application.WorksheetFunction.CountA(.Range("A1:R" & lRow)) _
             = .Range("A1:R" & lRow).Cells.Count
    End With
End Function

введите здесь описание изображения

person Siddharth Rout    schedule 09.02.2014
comment
отлично работает, спасибо. было бы неплохо, если бы он мог помечать пустые ячейки красным цветом, это бы очень помогло - person Marko Pantic; 09.02.2014
comment
Я могу дать вам ответ, но не хотите ли вы сначала попробовать? ;) Прочтите встроенную справку Excel на Range.SpecialCells Method - person Siddharth Rout; 09.02.2014
comment
честно говоря, я понятия не имею, что мне делать :), поэтому я был бы признателен, если вы мне поможете - person Marko Pantic; 09.02.2014
comment
i don't have a clue what i should do :) Я только что сказал вам, что делать. Откройте справку Excel и посмотрите пример для Range.SpecialCells Method Причина, по которой я ответил на ваш вопрос, так как я видел усилия с вашей стороны. :) А теперь покажи мне те же усилия для Range.SpecialCells Method, и если ты застрянешь, я тебе помогу... Это обещание... Теперь мяч на твоей стороне :) - person Siddharth Rout; 09.02.2014
comment
хорошо, я что-то придумал, но я снова застрял... вот что я получил Sub testiranje() With Sheets("pppdp") If Not test Then .Range("A19:R" & .Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeBlanks).Interior.ColorIndex = 3 End If End With End Sub проблема в том, что когда я заполняю пустые ячейки, они остаются красными - person Marko Pantic; 09.02.2014