【问题标题】:How to run the next statement if the cell value is blank in EXCEL VBA如果EXCEL VBA中的单元格值为空白,如何运行下一条语句
【发布时间】:2020-05-02 12:28:08
【问题描述】:

我需要使用 VBA 填写 Web 表单。在输入数据表中,F、G、H 列有几个单元格是空白的。 我想跳过那些空白单元格并移至下一条语句而不显示任何错误。 我已经提到了我创建的 VBA SCRIPT。

如果有人帮我解决这个问题,我会很高兴。

从下面我想跳过空白单元格并转到下一个语句。列(F、G、H)

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

【问题讨论】:

  • 您可以测试单元格是否包含数据并仅在包含数据时执行语句。使用If ... Then ... End If
  • 感谢我尝试使用“如果...然后...结束如果”现在它工作正常。

标签: excel vba


【解决方案1】:

您可以使用 IsEmpty 函数来检查单元格是否为空白。

如果 IsEmpty(Range("F3").Value) = True 那么

【讨论】:

  • 我试过这个 'If IsEmpty(Range("F3").Value) = True Then' 非常感谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-13
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多