Нужно заполнить сотню справочников. Собираюсь заполнять при помощи "накладной". Ввожу в нее данные при выборе номенклатуры, данные должны записываться в соответствующий справочник.
| Код |
|---|
Sub SaveToDatabase()
Dim wsForm As Worksheet
Dim wsDB As Worksheet
Dim newRow As ListRow
Set wsForm = Sheets("Форма")
Set wsDB = Sheets("Справочник")
' Проверка заполнения ключевого поля (например, B3)
If wsForm.Range("A3").Value = "" Then
MsgBox "Номер накладной!", vbExclamation
Exit Sub
End If
' Добавление новой строки в "умную таблицу"
Set newRow = wsDB.ListObjects("SpravochnikTable").ListRows.Add
' Перенос данных из формы в справочник
With newRow
.Range(1) = wsForm.Range("A3").Value ' Номер накладной
.Range(2) = Date ' дата накладной
.Range(3) = wsForm.Range("A5").Value ' Структурное подразделение
.Range(4) = wsForm.Range("A6").Value ' Номенклатура
.Range(5) = wsForm.Range("A7").Value ' Инвентарный номер
.Range(6) = wsForm.Range("A8").Value ' Кол - во Востребовано
.Range(7) = wsForm.Range("A9").Value ' Кол - во Выдано
.Range(8) = wsForm.Range("A10").Value ' Получатель
.Range(9) = Date ' дата выдачи
.Range(10) = wsForm.Range("A12").Value ' Отпустил
.Range(11) = Date ' дата выдачи
End With
' Очистка формы
wsForm.Range("A3:A12").ClearContents
MsgBox "Данные успешно добавлены!", vbInformation
End Sub |
Изменено: - 21.04.2026 05:29:19
(код офомляется тегом <...>)