Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自内部网文件的Excel用户表单VBA VLOOKUP(2)_Vba_Excel - Fatal编程技术网

来自内部网文件的Excel用户表单VBA VLOOKUP(2)

来自内部网文件的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

从我以前的帖子(标题相同)开始跟进。我有一个用户表单,我需要从中根据下拉框“XXXXList”中的项目列表查找数据。VBA代码部分工作。该代码能够从名为“数据库”的内部网中查找并打开正确的文件。但一旦打开文件,我就会收到以下错误消息“Automation error”

我的密码是:

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”是同一个文件,那么在尝试从工作表读取数据之前为什么要关闭它?它需要开放,才能发挥作用。