Как выполнить следующий оператор, если значение ячейки пусто в EXCEL VBA - PullRequest
1 голос
/ 02 мая 2020

У меня есть требование заполнить веб-форму с использованием VBA. Во входных данных столбцы F, G, H имеют несколько пустых ячеек. Я хочу пропустить эти пустые ячейки и перейти к следующему утверждению без каких-либо ошибок. Я упомянул VBA SCRIPT, который я создал.

Если кто-нибудь поможет мне исправить это, я буду очень рад.

Из следующего я хочу пропустить пустые ячейки и go для следующего оператора. Колонка (F, G, H) enter image description here

Sub copy_project_loop()

Dim IE As Object
Dim Doc As HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
Dim SHELL_OBJECT
SHELL_OBJECT = "WScript.Shell"
Set objShell = CreateObject(SHELL_OBJECT)


IE.Visible = True
IE.navigate "URL"

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop


    Set Doc = IE.document

    ' Set numrows = number of rows of data.
      NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count

      ' Establish "For" loop to loop "numrows" number of times.
      For intRow = 2 To NumRows

    Doc.getElementById("txtTimeStudyNbr").Value = ThisWorkbook.Sheets("data").Range("A" & intRow).Value
    Doc.getElementById("Search").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifierTypes").Value = ThisWorkbook.Sheets("data").Range("E1").Value
    Doc.getElementById("Search").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifiers").Value = ThisWorkbook.Sheets("data").Range("E" & intRow).Value
    Doc.getElementById("ADD").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifierTypes").Value = ThisWorkbook.Sheets("data").Range("F1").Value
    Doc.getElementById("Search").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifiers").Value = ThisWorkbook.Sheets("data").Range("F" & intRow).Value
    Doc.getElementById("ADD").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifierTypes").Value = ThisWorkbook.Sheets("data").Range("G1").Value
    Doc.getElementById("Search").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifiers").Value = ThisWorkbook.Sheets("data").Range("G" & intRow).Value
    Doc.getElementById("ADD").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifierTypes").Value = ThisWorkbook.Sheets("data").Range("H1").Value
    Doc.getElementById("Search").Click

    Do While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Doc.getElementById("lstQualifiers").Value = ThisWorkbook.Sheets("data").Range("H" & intRow).Value
    Doc.getElementById("ADD").Click
Next


End Sub

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете использовать функцию IsEmpty, чтобы проверить, пуста ли ячейка.

If IsEmpty (Range ("F3"). Value) = True Тогда

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