Как я могу найти указанные данные в строке Excel, используя доступ VBA
-
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
.
не работает.Любой Фультурный код, который мне нужно добавить?
Решение
<Сильный> первый подход (sliplty быстрее):
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