У вас есть макрос, который считывает год от C2 и записывает праздники С5: С14. Вы ничего не рассказываете нам об этих 10 праздниках, поэтому никто не может помочь там. Тем не менее, я полагаю, этот макрос будет генерировать список праздников вы хотите в любой год в диапазоне 2015 до 2050
Split этого макроса надвое:
- Функция
Macro1
, которая принимает в год в качестве параметра и возвращает массив праздников.
- Sub
Macro2
, который читает год из C2, вызывает Macro1
и записывает возвращенный массив в C5: C14.
Отладка Macro1
и Macro2
при необходимости. Теперь у вас есть код, который дублирует ваш исходный макрос, но с кодом генерации праздника в качестве подпрограммы, которую можно вызвать с помощью нового макроса.
Запись Macro3 основана на следующем:
RowCrnt = 1
For Year = 2015 to 2050
Holidays = Macro1(Year)
For InxHol = LBound(Holiday) to UBound(Holiday)
Cells(RowCrnt, 1).Value = Holidays(InxHol)
RowCrnt = RowCrnt + 1
Next
Next
Я думаю, что даст вам то, что вы ищете для минимального усилия.
Вам нужно указать более подробно в своем вопросе, включая воспроизводимый пример и код, который вы пробовали. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask, а затем обновите свой вопрос. – tospig