Excel VLookup从不同的工作簿中获取信息

Excel VLookup从不同的工作簿中获取信息,excel,vba,Excel,Vba,当我逐步完成我的代码时,我没有得到任何错误,但是代码没有返回任何内容。我不知道如何解决这个问题 H5的值=161-0123。前三个数字标识零件类型(也是我将查看的表),后四个是特定表中的零件编号 Dim LookUp As String Dim Typ As String Typ = Left(Range("H5"), 3) LookUp = Right(Range("H5"), 4) Application.ScreenUpdating = False Set wbk1 = Workbo

当我逐步完成我的代码时,我没有得到任何错误,但是代码没有返回任何内容。我不知道如何解决这个问题

H5的值=161-0123。前三个数字标识零件类型(也是我将查看的表),后四个是特定表中的零件编号

Dim LookUp As String
Dim Typ As String

Typ = Left(Range("H5"), 3)
LookUp = Right(Range("H5"), 4)


Application.ScreenUpdating = False
Set wbk1 = Workbooks.Open("R:\Item Master List\Item Master Log.xlsx")

Dim sheet1 As Worksheet
Set sheet1 = wbk1.Worksheets("161-Polyimide")

Worksheets("Sheet1").Range("I5").Value = Application.VLookup(LookUp, sheet1.Range("A:J"), 8, 0)
161-0123有一个与之相关的部件号,这是单元I5应该检索的部件号(195-1234)

输入H5=161-0123


在I5=195-1234中输出虽然确切的问题是可以知道的,但如果我得到完整的代码,但根据您提供的信息,根据我的经验,我注意到Excel在两种情况下的行为是不确定的:

  • Excel可能已进入手动工作表计算模式,原因可能是您故意这样做,或者工作表上有很多公式。如果在excel窗口的左下角有计算选项,则可以验证这一点
  • 您可能已启用“录制宏”选项

  • 通过修修补补,我已经解决了我的问题,它分为两部分

    首先,这是一个猜测,因为我这样做的机会很小

    单元格H5的格式为常规格式,因此当数字中添加“-”时,整个单元格将被视为一个字符串,而另一个文件中的数字被分类为数字

    第二:


    我必须指定
    此工作簿。工作表(“Sheet1”)。范围(“I5”)。值=
    (谢谢@controlnetic.nomad)。

    您是否有
    下一次错误恢复时的
    位置?没有@bigben您可能需要明确说明哪些工作簿
    工作表(“Sheet1”)
    是最终的。因此,如果这是您一直运行的某个宏,请查看以防止打开/关闭其他工作簿