Я работаю над проектом в VBA на основе Excel. В Excel есть лист, содержащий информацию в нескольких столбцах. Используя приведенный ниже код, я могу выполнить поиск в одном столбце и распечатать остальные данные в моей пользовательской форме.
Первый вопрос: столбец, в котором я хочу выполнить поиск ( столбец 1) содержит 8 символов, но нужно искать только первые 6 символов. Будет ли это возможно в любом случае? Я попытался использовать .Characters(1, 6)
, как показано в коде ниже, но он не работает.
Sheet1 содержит около 5500 строк данных.
Второй вопрос: Я хотел бы распечатать данные строки в нескольких текстовых полях, как показано в коде ниже. TextBox2 должен содержать результат поиска в моем первом вопросе (столбец 1), но опять же только первые 6 символов. Как бы я справился с этим sh? 1012 *
Надеюсь, вы мне поможете.
Public Sub Search_Owner()
Dim PrsNr As String
Dim Found As Range
PrsNr = TextBox1.value
Worksheets("Sheet1").Activate
Set Found = Worksheets("Sheet1").Range("A2", Range("A" & Rows.Count).End(xlUp)).Characters(1, 6).Find(PrsNr, Lookat:=xlWhole)
If Found Is Nothing Then
MsgBox "Nothing found", vbCritical
Else
TextBox2 = Cells(Found.Row, 1).value
TextBox3 = Cells(Found.Row, 5).value
TextBox4 = Cells(Found.Row, 8).value
End If
End Sub