Я создал прославленный экземпляр и вставку макроса, который копирует импортированную информацию с рабочего листа «шаблон» в рабочие листы определенных мест.
(поэтому у меня есть рабочие листы с именами LOCATION1 LOCATION2 Location3 location4 и шаблон)
Рабочий лист как переменная?
В настоящее время мой код выглядит следующим образом: (но намного дольше и более повторяющихся)
Sheets("Template").Select
Range("P24:Q30").Select
Selection.Copy
Sheets("location1").Select
Range("P24").Select
ActiveSheet.Paste
Я хочу «LOCATION1» как переменная рабочего листа.
Мне нужен способ для изменения, без необходимости изменять код для каждого другого шаблона.
Насколько я вижу, есть два решения.
- В шаблоне есть ячейка, содержащая значение имени листа, на которое должна быть вставлена информация. Если бы я мог установить это равным переменной рабочего листа, которую я могу написать вместо «Location1»
- Попросите пользователя выбрать лист местоположения из списка при запуске макроса.
Я не знаю, как это сделать, и я не знаю, что было бы лучше.
nutsch, спасибо за вашу помощь. Выбор вещь определенно лучше. Я пробовал оба ваших решения, и я продолжаю получать ошибки на обоих из них. для рабочего листа Я получаю ошибку времени выполнения 13 "несоответствие типа" с помощью строки Set shtDest. для строки я получаю ошибку времени выполнения 9 - индекс вне диапазона. Извините, что я очень новичок в этом ... – Nadia
Вы получите эту ошибку, если в Листе шаблона ячейка B1 не содержит действительного имени листа. – nutsch