Автоматизация заполнения таблицы из БД методом VBA

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
A(R)ni
Сообщения: 1
Зарегистрирован: 20 сен 2005, 15:11

Добрый день!
Как сделать автоматизацию заполнения таблицы из Базы Данных(БД находится в другом файле на листе

"BD") посредством VBA, чтобы не было никаких формул в таблицах.

На листе (имя листа меняется все время) находится таблица из 4-х колонок(B/C/D/F). При вводе

кода в поле колонки "В" автоматически заполняются из БД поля C/D/F.

Заранее благодарен
treider
Сообщения: 57
Зарегистрирован: 01 сен 2005, 13:29
Откуда: Алматы
Контактная информация:

Предлагаю следующий вариант

1. В проекте где хранится БД создать класс для обработки событий (Exel.Application) - это позволит написать для всех листо в один обработчик событий SheetChange
2. Прописываем этот самый обработчик событий который обрабатывает Range (как нужно)
3. На открытие документа вешаем обработчик который создает объект класса


Предварительно рекомендую посмотреть сюда
forum/viewtopic.php?p=15522#15522
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Если автозаполнение нужно "применить" только к одному из рабочих листов, то можно использовать событие рабочего листа, например :

Код: Выделить всё

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
А расположить эти макросы нужно, в той рабочей книге, где предполагается вводить данные (столбец "B")
Ответить