Страница 1 из 1

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

Добавлено: 20 сен 2005, 17:43
A(R)ni
Добрый день!
Как сделать автоматизацию заполнения таблицы из Базы Данных(БД находится в другом файле на листе

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

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

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

Заранее благодарен

Добавлено: 21 сен 2005, 08:25
treider
Предлагаю следующий вариант

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


Предварительно рекомендую посмотреть сюда
forum/viewtopic.php?p=15522#15522

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

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

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")