基于宏结果的Excel VBA复制和粘贴

时间:2014-12-28 23:45:09

标签: excel-vba vba excel

我有一个宏,根据我在单元格C2中输入的年份给我所有假期 结果在sheet1范围内(c5:c14) 我希望例如创建另一个宏,以便从2015年到2050年拥有所有假期,并将所有结果复制到sheet3列A中。 当然结果必须是订单,所以我在A栏中得到了所有这些年。

你可以帮我解决一下吗?

由于

1 个答案:

答案 0 :(得分:0)

你有一个宏从C2读取一年并将假期写入C5:C14。你告诉我们这10个假期没什么,所以没有人能帮到那里。但是,我假设此宏将生成2015年至2050年期间任何一年的假期列表。

将此宏拆分为两个:

  • 函数Macro1,它接受​​一年作为参数并返回一系列假期。
  • 从C2读取一年的子Macro2,调用Macro1并将返回的数组写入C5:C14。

根据需要调试Macro1Macro2。您现在拥有复制原始宏的代码,但假日生成代码作为可由新宏调用的子例程。

根据以下内容编写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

我认为这会给你最小的努力。

相关问题