2014-12-28 5 views
-1

У меня есть макрос, который дает мне все праздники, основанные на году, который я вводил в ячейку C2 , а результаты в диапазоне листа1 (c5: c14) Я хочу, например, создайте еще один макрос, чтобы получить все праздники с 2015 по 2050 год и скопировать все результаты в столбец sheet3. , конечно, результаты должны быть заказаны, поэтому я получаю все годы в колонке A.Excel VBA копировать и вставлять на основе результатов макроса

Помогите нам меня с этим, пожалуйста?

Благодаря

+0

Вам нужно указать более подробно в своем вопросе, включая воспроизводимый пример и код, который вы пробовали. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask, а затем обновите свой вопрос. – tospig

ответ

0

У вас есть макрос, который считывает год от 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 

Я думаю, что даст вам то, что вы ищете для минимального усилия.

Смежные вопросы