akash.jagad@gmail.com Ответов: 2

Код Vba, необходимый для функции поиска


Мне нужна помощь, чтобы получить код vba с переменной, которая может искать значение от листа "текст" до листа "проверка". Я подготовил код, но не могу создать цикл для "текстового" листа со значением ячейки от А2 до А4 один за другим. Пожалуйста, помогите мне в этом.

Я создал ниже код


Что показывает ошибку 1004. и я также не в состоянии создать цикл для всех значений. пожалуйста помочь.

Что я уже пробовал:

<pre lang="vb">
Option Explicit

Dim i As Integer
Dim WS, W As Range

Sub Search_fn()

Set WS = Range("B2")

WS = Application.WorksheetFunction.Search(Sheet2.Range("A2"), Range("A2"), 1)

End Sub

OriginalGriff

Мы настоятельно рекомендуем вам изменить свое имя пользователя: никогда не публикуйте свой адрес электронной почты ни на одном форуме, если только вам действительно не нравится спам! Если кто-то ответит вам, вы получите электронное письмо, чтобы сообщить вам об этом.

2 Ответов

Рейтинг:
1

CHill60

1. В 1004 ошибка с WorksheetFunction.Search метод просто означает, что он не смог найти текст. Вы можете обернуть вызов в некоторую обработку ошибок например

Dim loc As Integer
On Error Resume Next
loc = Application.WorksheetFunction.Search(Sheet2.Range("A2"), Range("A2"), 1)
If Err.Number > 1004 Then
    'text not found
Else
    'loc will contain the point where the text starts
End If
2. Вы, кажется, пытаетесь найти что - то в рабочем листе - это означало бы, что вы используете неправильную функцию- почему я этому верю? Вы пытаетесь присвоить Результаты поиска диапазону сравнения Функция рабочего листа.Метод поиска (Excel) | Microsoft Docs[^] который возвращает целое число, а не Диапазон.Метод поиска (Excel) | Microsoft Docs[^], который возвращает диапазон.

3. Что касается цикла - есть много способов - см. Решение 1 и, пожалуйста, сделайте небольшое исследование для себя, прежде чем задавать подобные вопросы. Я бы, наверное, пошел на
Dim sSearchFor As String, rng As Range

For Each rng In ThisWorkbook.Sheets("Text").Range("A2:A4")
    sSearchFor = rng.Value
    ' insert whatever you want to do with the value here
Next


Wendelius

Прекрасный пример

Рейтинг:
0

Richard MacCutchan

vba loop - поиск в Google[^]