需要能够在一个excel工作簿中单击upc代码并让它在不同的工作簿中使用相同的upc代码

时间:2017-12-13 20:19:44

标签: excel-vba vba excel

我希望能够在一个工作簿中单击upc代码并让它将我带到另一个工作簿中的相同upc代码。这是我正在使用的代码,但如果您尝试通过Excel运行它,代码中会出现一些错误。如果有人知道如何解决这个问题,你的帮助将非常感激!谢谢!

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Found As Range

    On Error Resume Next
    Set Found = Workbooks("SecondWorkbook.xlsx").Sheets(1).Cells.Find(What:=Target.Value, _
        After:=Workbooks(“SecondWorkbook.xlsx”).Sheets(1).Cells(1, 1), _
        LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlPrevious, MatchCase:=True)
    On Error GoTo 0

    If Found Is Nothing Then
        Cancel = True
    Else
        Cancel = False
        Workbooks("SecondWorkbook.xlsx").Sheets(1).Found.Select
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

  1. “SecondWorkbook.xlsx”更改为"SecondWorkbook.xlsx"

    在VBA中使用双引号(即")表示字符串文字的开头和结尾,但智能引号(即)在与任何其他字符相同,可以构成变量名称的一部分,因此x”s = 5之类的语句完全有效,并将变量x”s设置为5。

    因此,您的“SecondWorkbook.xlsx”被视为尝试使用不存在的xlsx”对象的“SecondWorkbook属性。

  2. 更改

    Workbooks("SecondWorkbook.xlsx").Sheets(1).Found.Select
    

    Workbooks("SecondWorkbook.xlsx").Activate
    Workbooks("SecondWorkbook.xlsx").Sheets(1).Activate
    Found.Select
    

    因为您无法Select工作表中无效的单元格。