Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Про сопоставление  [new]
ferzmikk
Member

Откуда:
Сообщений: 984
Здравствуйте!

Есть excel-ий файл с макросом, который импортирует данные с двух excel-их файлов. Макросу нужно научить с каких строк и колонок нужно выгружать. Для этого создана вкладка "Параметры", где для каждого показателя прописываются строки и колонки, а также код, который привязывает значения этих параметров. Если со временем в этих двух файлах был сдвиг строк, то вручную на листе "Параметры" меняем значения.

К сообщению приложен файл. Размер - 25Kb
4 сен 17, 16:07    [20770256]     Ответить | Цитировать Сообщить модератору
 Re: Про сопоставление  [new]
ferzmikk
Member

Откуда:
Сообщений: 984
Макрос во вложении. Не не уверен, что для привязки это оптимальное решение. Получается увеличивается количество глобальных переменных. Специально толкаю в глобальные переменные, так как вызываются из разных модулей. Вот думаю, может вместо таких глобальных переменных создать класс, или глобальный пользовательский тип, чтобы доработка кода была более мобильная и удобная.

К сообщению приложен файл (Представление.xlsm - 19Kb) cкачать
4 сен 17, 16:09    [20770259]     Ответить | Цитировать Сообщить модератору
 Re: Про сопоставление  [new]
ferzmikk
Member

Откуда:
Сообщений: 984
Но еще есть но. Если меняется структура на листе "Параметры" (то есть не значение как опиcано выше), а именно сместили ячейки, строки, колонки, добавили, удалили, то надо корректировать код. См. вкладку "Параметры Позже". Лишний раз код лучше не трогать, чтобы не поломать там ничего. Есть вариант к ячейкам привязать имена, но ячейку можно нечаянно удалить и потерять связь. Вообще параметров очень много. Как можно сделать так, чтобы код не сильно трогать, если меняется структура на листе "Параметры"?

К сообщению приложен файл. Размер - 40Kb
4 сен 17, 16:11    [20770268]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить