у меня есть код VBA, чтобы найти определенное число из набора столбцов и строк и вернуть некоторые значения... (адрес ячейки с тем же значением, которое я ищу, и дату и время из первого столбца) проблема в том, что я должен ввести точное значение в поле поиска, и если я пропущу цифра у меня не будет результатов .... но у меня есть данные и числа на листе, которые имеют 14 цифр, можем ли мы использовать регистр соответствия в VBA, чтобы мы могли найти все числа, которые имеют тот же регистр с искомое значение?
Sub findReport()
Dim srch As Double
Dim cl, Rng As Range
Dim ws1, ws2 As Worksheet
Dim u As Long
srch = InputBox("What number are you looking for?", "Search Term")
u = 1
Set ws1 = Sheet1
Set ws2 = Sheet2
Set Rng = ws1.Range("F12:O19")
For Each cl In Rng
If cl.Value = srch Then
ws2.Cells(u, 2).Value = cl.Address
ws2.Cells(u, 1).Value = ws1.Cells(cl.Row, 5).Value
u = u + 1
End If
Next cl
End Sub
Вы можете использовать Like
и подстановочные знаки для проверки частичного совпадения:
If cl.Value Like "*" & srch & "*" Then
кажется, что первое решение от Тима Уильямса дает лучшие результаты, чем код от Сиддхарта Раута (который перечисляет все числа с первого листа в качестве результатов поиска). Хотя код Тима Уильямса будет игнорировать некоторые цифры и не показывать их в результатах. ..
Если вы не получаете ожидаемых результатов, было бы полезно привести несколько примеров, когда это не работает.
Тим Уильямс ... я новичок на этом сайте, поэтому я не знаю, как разместить несколько примеров ... могу ли я разместить здесь фотографии?
Вы можете отредактировать свой вопрос с примером пользовательского ввода и значений ячеек, которые должны совпадать, но не совпадают.
++ Альтернативный способ. Инстр Пример
If InStr(1, cl.Value, srch) > 0 Then