如何使用Access VBA在Excel行中找到指定的数据
-
21-12-2019 - |
题
我正在尝试在Excel行中找到指定的数据。类似于行范围A1:A1J,只有一个单元格具有数据“过程”。如果我发现在给定范围内的数据,我需要弹出消息“找到”这是我的代码
Dim ExcelApp As New Excel.Application
Dim ExcelBook As New Excel.Workbook
Dim rng As Excel.Range
Dim rngDefine As Excel.Range
Set ExcelBook = ExcelApp.Workbooks.Open("C\temp\find.xlsm")
ExcelApp.Visible = False
'Define your own Range
Set rngDefine = ExcelBook.Worksheets("Datatab").Range("A1:AJ1")
'ExcelBook.Worksheets("Datatab").Range ("A1:AJ1")
Set c = .Find("Process", LookIn:=xlValues)
For Each rng In rngDefine
If c = "Process" Then
MsgBox "Found"
End If
Next
ExcelApp.Quit
Set ExcelApp = Nothing
.
不起作用。我需要添加的任何furthur代码?
解决方案
首先接近(slighlty faster):
Set rngDefine = ExcelBook.Worksheets("Datatab").Range("A1:AJ1")
If IsError(ExcelApp.Match("Process", rngDefine, 0)) Then
MsgBox "Not found"
Else
MsgBox "Found"
End If
.
第二种方法:
Dim c As Excel.Range
Set rngDefine = ExcelBook.Worksheets("Datatab").Range("A1:AJ1")
Set c = rngDefine.Find(What:="Process", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If c Is Nothing Then
MsgBox "Not found"
Else
MsgBox "Found"
End If
. 不隶属于 StackOverflow