У нас на складе имеется 4000 различных материалов / оборудования.
Мы используем макрокоманду VBA, интегрированную со сканером штрих-кода, для выполнения всего процесса склада.
Мы суммируем все различные материалы / оборудование для другой рабочей книги отдельно благодаря кодам VBA (скажем, Сводная рабочая книга ).
Чтобы увидеть, сколько разных труб и сколько метров труб у нас на складе, вы следует щелкнуть на листе «ТРУБЫ» внутри сводной рабочей книги.
Для «ЭЛЕКТРИЧЕСКИХ МАТЕРИАЛОВ», «ФЛАНЦЫ», «ФИТИНГИ», «АКТИВЫ» и почти для 20 других групп запасов это одно и то же.
Все заголовки разделены и представляют собой все разные страницы в виде списка.
Также я перечисляю все заголовки ("ЭЛЕКТРИЧЕСКИЕ МАТЕРИАЛЫ", "ФЛАНЦЫ", "ФИТИНГИ", "АКТИВЫ", "ТРУБЫ" "et c.) на другой лист (скажем, DATA Sheet ).
Основная идея: использовать этот лист в качестве списка данных.
Все Цель вышеуказанных операций - проверка материалов / оборудования. легко и сколько разных продуктов у нас на складе. Но когда вы открываете «Сводную книгу», это сложно проверить. Каждая группа запасов включает не менее 150 различных материалов / оборудования.
Поэтому я создал еще один лист в Сводная рабочая тетрадь и назвал его Основной лист . Кроме того, я создал текстовое поле и список в нем.
Я выбираю всю информацию о запасах внутри листа ДАННЫХ из (A2: F4214) с именем «ДАННЫЕ».
Поэтому, когда я выбираю список на основном листе, я передать все «ДАННЫЕ», используя метод «ListFillRange».
Я использую 6 столбцов с заголовками.
1- Номер
2- Штрих-код №
3- Запас Название группы
4- Название запаса
5- Количество запаса
6- Измерение запаса (метр, шт, комплект, литр и т. Д. c.)
Код для использования текстового поля в качестве поиска Поле:
Private Sub TextBox1_Change()
Dim i As Long
Me.TextBox1.Text = StrConv(Me.TextBox1.Text, 1)
Me.ListBox1.Clear
For i = 2 To Application.WorksheetFunction.CountA(Sayfa281.Range("D:D"))
a = Len(Me.TextBox1.Text)
If Sayfa281.Cells(i, 4).Value Like "*" & TextBox1.Text & "*" Then
Me.ListBox1.AddItem Sayfa281.Cells(i, 4).Value
Me.ListBox1.List(ListBox1.ListCount - 1, 4) = Sayfa281.Cells(i, 4).Value
End If
Next i
End Sub
Это дало:
Ошибка времени выполнения '- 2147467259 (80004005)':
Неуказанная ошибка.
Когда Я нажимаю DEBUG, он показывает Me.ListBox1.Clear
желтым цветом.
Когда я использовал приведенный выше код внутри пользовательской формы, он работает, но на листе Excel это не так.