VBA中的替换功能导致运行时1004错误

时间:2015-12-09 16:55:22

标签: excel vba excel-vba

知道为什么这段代码产生运行时1004错误?

Dim outputHtml As String, tbody As String

outputHtml = Right(htmlCode, Len(htmlCode) - InStr(htmlCode, "<div class=""b-campaign-stat-data b-campaign-stat-data_type_custom"">") + 1)

tbodyStart = InStr(outputHtml, "<tbody")
tbodyEnd = InStr(outputHtml, "</tbody>")

tbody = Mid(outputHtml, tbodyStart, tbodyEnd + 8 - tbodyStart)

outputHtml = WorksheetFunction.Substitute(outputHtml, tbody, "g")

这是绊倒它的最后一行。我也试过Application.Substitute ......

1 个答案:

答案 0 :(得分:1)

您尚未声明tbodyEnd变量。将其添加到您的代码中:

Dim tbodyEnd As String

注意,您可以启用“Option Explicit”以避免将来出现此类问题。有两种方法可以做到这一点:

  1. Option Explicit添加到模块顶部,或
  2. 转到“工具”&gt; “选项”并在“编辑器”选项卡上选中“需要变量声明”。
  3. 当您未声明变量时,执行其中任何一项都会导致更有意义的警告/错误。它将为您提供变量的名称,这很有帮助。