Как я могу найти указанные данные в строке Excel, используя доступ VBA

StackOverflow https://stackoverflow.com//questions/22049454

  •  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
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top