我希望能够在一个工作簿中单击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
答案 0 :(得分:0)
将“SecondWorkbook.xlsx”
更改为"SecondWorkbook.xlsx"
在VBA中使用双引号(即"
)表示字符串文字的开头和结尾,但智能引号(即“
和”
)在与任何其他字符相同,可以构成变量名称的一部分,因此x”s = 5
之类的语句完全有效,并将变量x”s
设置为5。
因此,您的“SecondWorkbook.xlsx”
被视为尝试使用不存在的xlsx”
对象的“SecondWorkbook
属性。
更改
Workbooks("SecondWorkbook.xlsx").Sheets(1).Found.Select
到
Workbooks("SecondWorkbook.xlsx").Activate
Workbooks("SecondWorkbook.xlsx").Sheets(1).Activate
Found.Select
因为您无法Select
工作表中无效的单元格。