来自内部网文件的Excel用户表单VBA VLOOKUP(2)
从我以前的帖子(标题相同)开始跟进。我有一个用户表单,我需要从中根据下拉框“XXXXList”中的项目列表查找数据。VBA代码部分工作。该代码能够从名为“数据库”的内部网中查找并打开正确的文件。但一旦打开文件,我就会收到以下错误消息“Automation error” 我的密码是:来自内部网文件的Excel用户表单VBA VLOOKUP(2),vba,excel,Vba,Excel,从我以前的帖子(标题相同)开始跟进。我有一个用户表单,我需要从中根据下拉框“XXXXList”中的项目列表查找数据。VBA代码部分工作。该代码能够从名为“数据库”的内部网中查找并打开正确的文件。但一旦打开文件,我就会收到以下错误消息“Automation error” 我的密码是: Private Sub ContractsList_AfterUpdate() Dim WB As Workbook Dim Sht As Worksheet ' set workbook to workbook
Private Sub ContractsList_AfterUpdate()
Dim WB As Workbook
Dim Sht As Worksheet
' set workbook to workbook location at internet
Set WB = Workbooks.Open("https://Private.Private.Private.uk/Private/Private/Private/Private/Private.xlsm")
Set Sht = WB.Worksheets("Availabledata")
Application.Wait (Now + TimeValue("00:00:01"))
Workbooks("database.xlsm").Close
With Me.XXXXList
'value to be found in Column H of 3rd worhseet
If Not IsError(Application.Match(.Value, Sht.Range("H:H"), 0)) Then
'Lookup values based on first control
Me.TextBox1 = Sht.Range("H" & Application.Match(.Value, Sheet3.Range("H9:H100"), 2)).Value '<-- value not found in Column H
Else
MsgBox "This contract is not on the list"
.Value = ""
Exit Sub
End If
End With
End Sub
Private Sub ContractsList\u AfterUpdate()
将WB设置为工作簿
将Sht变暗为工作表
'将工作簿设置为internet上的工作簿位置
设置WB=工作簿。打开(“https://Private.Private.Private.uk/Private/Private/Private/Private/Private.xlsm")
设置Sht=WB.工作表(“可用数据”)
Application.Wait(现在+时间值(“00:00:01”))
工作簿(“database.xlsm”)。关闭
和我在一起
'第三工作表H列中的值
如果不是IsError(Application.Match(.Value,Sht.Range(“H:H”),0)),则
'基于第一个控件的查找值
Me.TextBox1=Sht.Range(“H”和Application.Match(.Value,Sheet3.Range(“H9:H100”),2)).Value“调试代码时,是否突出显示任何特定行?另外,VLOOKUP在这一切中扮演什么角色?您是否正在尝试打开excel工作簿,以便在另一个工作簿中更新VLOOKUPed数据?突出显示的行是“如果不是iError(Application.Match(.Value,Sht.Range(“H:H”),则为0”)。代码的一部分打开和关闭intranet中的文件,另一部分是名为“xxxx.list”的userform下拉列表中的vlookup,该列表是查找值,用于返回名为“database”的第三个工作表的数据表区域是H列。这有意义吗?不清楚您在这里做什么-您打开一个文件“Private.xlsm”,然后关闭另一个文件“database.xlsm”?每个文件都是什么?要打开和关闭的文件称为数据库,我已将我们到intranet的链接更改为private/private。。。出于隐私原因。我需要详细说明吗?这将有助于使您的代码保持一致。如果“Private.xlsm”和“database.xlsm”是同一个文件,那么在尝试从工作表读取数据之前为什么要关闭它?它需要开放,才能发挥作用。