vba искать значение в столбце из другой книги?

Я использую приведенный ниже код, чтобы попытаться найти значение в столбце F другой книги.

Sub WorkBookCheck() 'On Error Resume Next 'Extract Aduit Percents Dim sFound As String Dim FindRow As Range Dim WB2 As Workbook Dim app As New Excel.Application sFound = Dir(Worksheets("assets").Range("A12").Value & "\" & "*_UK_results.xl*") 'the first one found If sFound <> "" Then app.Visible = False 'Visible is False by default, so this isn't necessary Set WB2 = Workbooks.Open(Filename:=Worksheets("assets").Range("A12").Value & "\" & sFound, ReadOnly:=True) End If With WB2 With Worksheets("Result sheets Lidl") Set FindRow = .Range("F:F").Find(What:="Chapter result", LookIn:=xlValues) MsgBox FindRow If Not FindRow Is Nothing Then MsgBox FindRow End If End With End With End Sub 

Я получаю следующую ошибку:

 Object Variable or With Block Variable not set 

На этой строке:

 MsgBox FindRow 

Может кто-нибудь покажет мне, где я ошибаюсь?

Кроме того, это значение появляется несколько раз в столбце, поэтому я хотел бы иметь возможность отображать сообщение для каждого найденного совпадающего значения. Может ли кто-нибудь показать мне, как я могу это сделать? Я совершенно новый для vba. благодаря

1- ваши два вложенных блока не имеют никакого смысла. Вам нужно было только одно:

2- Конечно, если в результате Nothing вы не можете его msgbox.

 With WB2.Worksheets("Result sheets Lidl") Set FindRow = .Range("F:F").Find(What:="Chapter result", LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False) If Not FindRow Is Nothing Then MsgBox FindRow.Address End With 

Обратите внимание, что .Find имеет много других параметров, которые, если вы не устанавливаете их в вызове, наследуют их значения от последнего поиска, будь то в графическом интерфейсе или в VBA. Обычно рекомендуется устанавливать все или использовать альтернативу Match .

  • Excel 2013 найдет функцию для чисел
  • Найти и скопировать код
  • Excel VBA Find.Method, поиск 2 значений в строке, пишущих значение
  • Функция Excel vba .Find () в списке дат, которые отображаются как #
  • Использование функции FIND для поиска подстановочных знаков
  • Excel-VBA: поиск и замена и форматирование даты из строки
  • Работа с результатом поиска VBA в Excel
  • Метод Range.find для поиска ячеек с определенным цветом
  • Excel Vba Аномальное поведение клеток. Напряжение на спрятанных клетках
  • Excel: поиск и замена первого ряда и листа excel
  • Excel Найти следующее значение в диапазоне с помощью команды VLookup или Index Match
  • Interesting Posts

    Добавить номер измененной строки в тело письма

    Выберите пустую ячейку Case VBA

    макрос, чтобы проверить значение диапазона строк и изменить значение другого

    Множественный термин поиска соты и множественная ячейка. Заменить термин, используя Regex в Excel.

    вырезание с одной страницы на другую без выбора

    Загрузите таблицу в приложение веб-службы REST

    Excel: поиск разницы в двух списках

    как извлекать данные из разных таблиц и размещать их на разных листах excel (каждая таблица должна загружаться на каждом рабочем листе)

    Excel – возвращает «true», если значение существует в обоих столбцах

    Установка CurrentCulture в VSTO Addin

    Текущее время в Excel по часовому поясу

    Поиск и замена подстанции с использованием Regex

    Сохранить как использование переменных имен дает ошибку

    Начисление количества каждого значения на основе ключа в excel

    иметь функцию вызова пользовательской формы из основного модуля и заполнять imageBox

    Давайте будем гением компьютера.