Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1630
Благодарности: 220

Профиль | Отправить PM | Цитировать


okshef, спасибо, что откликнулись
У менеджеров имеются безобразные по моему мнению файлы Excel в которых они на отдельных листах ведут базу данных клиентов.
Причем имя листа - это название фирмы клиента.
На каждом листе, например в ячейке В1 написано "Название ООО "ФирмаХ"

в объединенных ячейках А6-D6 "контактное лицо Тамара Ивановна"

в объединенных ячейках B8-C8 "Телефон (111)222-32-32"

и т.п. контактная информация о клиенте, которую они листом могут распечатать с линиями и дополнительными надписями.

Причем, так как клиентов много, то таких листов в книге - сотни и загружается такая книга в память при открытии
по нескольку минут на вполне еще приличных компьютерах.Использование процессора подскакивает до 80%.
(Менеджеры недовольны и требуют компьютеров с новейшими мощнейшими игровыми процессорами).
И потом им еще надо побыстрее найти нужный лист клиента, когда они разговаривают по телефону, чтоб подредактировать.

Как-то напрашивается преобразование такой книги Excel в базу данных Access, которая бы загружалась быстрее,
где каждая строка была бы информацией о фирме, а в колонках - в поле1 - название фирмы, в поле2 - контактное лицо, в поле3 - телефон и т.д.

Как быстрее выполнить такое преобразование и прав ли я в том, что такой файл Access будет открываться быстро?
Я посмотрел мастер импорта в Access и что-то он не предлагает таких функций.

Таким образом, для того, чтобы перенести мастером в Access, первым делом я решил собрать всю информацию с листов в одну таблицу на одном листе1 Excel в той же книге.
Если просто копировать, то данные с листов не копируются нормально по колонкам, поэтому я копирую специальной вставкой ссылки.
Вручную тысячи фирм не перекопировать, надо автоматизировать.

Перебор листов действительно можно обойти применением оператора for each, спасибо.
Но у меня в макросе есть и перебор строк Range("PostNum").Select, где PostNum - текстовая переменная образующаяся сложением столбца А и строки 3,4,5,6,...,309
Видимо и тут нельзя использовать переменные и Range должны стоять только константы?

В идеале такая база данных клиентов должна представлять собой таблицу в несколько сот строк и шаблон для распечатки одного листа с информацией о клиенте и все.

Отправлено: 19:32, 12-01-2013 | #3