首页 > 解决方案 > Userform - VBA 代码编译错误:未定义用户定义的类型

问题描述

我设法形成了一个 VBA 代码,它可以自动从网站导入汇率数据,如下所示。它在单个工作表中完美地工作了一周。但是我面临着如何将此代码添加到我的主要开发用户表单中的挑战。我的想法是在我的主要开发用户表单中将此 VBA 代码作为命令按钮添加为名为“汇率”的命令按钮,然后单击它,它将自动将网站中的汇率数据导入名为“汇率”的 Excel 工作表中。

  1. 我尝试在我的主要开发用户表单代码中添加如下 VBA 代码作为命令按钮“汇率”以执行函数在我的工作表“汇率”中显示数据,但它编译错误:未定义用户定义的类型。

感谢有人可以指导我找出错误所在。下面是我试图添加到我的主要开发用户表单中的代码

主要开发用户表单代码:https ://drive.google.com/file/d/10i5KoqXnTMrh49bYvDTMYBDn1g-D5DEl/view?usp=sharing

Sub ExchangeRate()
Dim ieObj As InternetExplorer
Dim htmlEle As IHTMLElement
Dim htmlEleCollection As IHTMLElementCollection
Dim i As Integer


i = 1

Set ieObj = New InternetExplorer
ieObj.Visible = True
ieObj.navigate "https://www.imf.org/external/np/fin/ert/GUI/Pages/Report.aspx?CU=%27SGD%27&EX=REP&P=OneWeek&CF=Compressed&CUF=Period&DS=Ascending&DT=Blank"

While ieObj.readyState <> 4 Or ieObj.Busy: DoEvents: Wend

Set htmlEleCollection = ieObj.document.getElementsByClassName("default").Item(0).getElementsByClassName("row1")

For Each htmlEle In htmlEleCollection
    If htmlEle.Children.Length > 1 Then

       With ActiveSheet
           .Range("A" & i).Value = htmlEle.Children(0).textContent
           .Range("B" & i).Value = htmlEle.Children(1).textContent
       End With
    End If

    i = i + 1

Next htmlEle
End Sub

标签: excelvbauserformuser-defined

解决方案


推荐阅读