У меня есть таблица с 4 столбцами и 35000 строк.VBA заполнить список всех вхождений
Я сделал форму с 3 ListBoxes (среди других кнопок)
При нажатии кнопки поиска Я хотел бы искать колонку А для всех вхождений числа и заполнить ListBoxes с соответствующей B, C & D
(если он помогает скорости никогда не будет более 10 вхождений одного и того же числа и столбца а, упорядоченные)
123 собаки Фидо Elm $ 50
123 собака SPOT OAK $ 40
456 Cat Jet Adam $ 30
Искать 123 и
ListBox 1 покажет Fido & Пятно ListBox 2 покажет Elm & Oak listbox3 ....
код до сих пор:
Private Sub cmdSearch_Click()
Dim Response As Long
Dim NotFound As Integer
NotFound = 0
ActiveWorkbook.Sheets("test").Activate
Frame1.Visible = False
Response = txtItemNumber.Text
If Response <> False Then
Range("A2").Select
Do Until ActiveCell.Value = Val(Response)
If ActiveCell.Value = "" Then
MsgBox "Item Number Not Found!", vbExclamation
NotFound = 1
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
If ActiveCell.Value = Val(Response) Then
Frame1.Visible = True
ListBox1.Text = ActiveCell.Offset(0, 1)
ListBox2.Text = ActiveCell.Offset(0, 2)
ListBox3.Text = ActiveCell.Offset(0, 3)
**'would like to see if next number in Column A is also the same as being searched... if so then add to listbox'
'do this until the next number doesn't match'**
End If
End If
End Sub
также будет процесс ускоряется с помощью массива или vlookup? Я не знаком с этими , и мне бы хотелось использовать несколько списков, а не многострочный список (в случае, если это произойдет).
Святая корова, мне нужно переварить это и попробовать завтра. [Цель за кадром] Вместо того, чтобы использовать msgbox для ввода пользователем элемента поиска, у меня есть текстовое поле в форме. Только для визуальных целей у меня есть результаты (среди других кнопок) на фрейме, который скрыт до тех пор, пока пользователь не выполнит поиск. – instanceoftime
OMG, что намного быстрее. Спасибо RickXI – instanceoftime
и да, правильно, что frame.visible не сделал ничего LOL – instanceoftime