Добрый день!
Как сделать автоматизацию заполнения таблицы из Базы Данных(БД находится в другом файле на листе
"BD") посредством VBA, чтобы не было никаких формул в таблицах.
На листе (имя листа меняется все время) находится таблица из 4-х колонок(B/C/D/F). При вводе
кода в поле колонки "В" автоматически заполняются из БД поля C/D/F.
Заранее благодарен
Автоматизация заполнения таблицы из БД методом VBA
Модератор: Naeel Maqsudov
Предлагаю следующий вариант
1. В проекте где хранится БД создать класс для обработки событий (Exel.Application) - это позволит написать для всех листо в один обработчик событий SheetChange
2. Прописываем этот самый обработчик событий который обрабатывает Range (как нужно)
3. На открытие документа вешаем обработчик который создает объект класса
Предварительно рекомендую посмотреть сюда
forum/viewtopic.php?p=15522#15522
1. В проекте где хранится БД создать класс для обработки событий (Exel.Application) - это позволит написать для всех листо в один обработчик событий SheetChange
2. Прописываем этот самый обработчик событий который обрабатывает Range (как нужно)
3. На открытие документа вешаем обработчик который создает объект класса
Предварительно рекомендую посмотреть сюда
forum/viewtopic.php?p=15522#15522
Если автозаполнение нужно "применить" только к одному из рабочих листов, то можно использовать событие рабочего листа, например :
Если к нескольким, то можно использовать событие рабочей книги, например :
А расположить эти макросы нужно, в той рабочей книге, где предполагается вводить данные (столбец "B")
Код: Выделить всё
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
End Sub
Код: Выделить всё
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
End Sub