任何方式来保存在Excelmacros的行中以备将来使用?

我正在构build一个macros来将一个长表拆分成多个小表,并且我想把头保存在一个variables中,以便能够快速地将它粘贴在小表的顶部。

我做了一个macros来做第一个(很简单)

Sheets("Feuil1").Select Rows("2:2").Select Selection.Copy Sheets("PageImpression").Select Rows("2:2").Select ActiveSheet.Paste 

如何将我的Selection.Copy保存在一个variables中,如何在需要时粘贴它?

答案是将行存储到一个variables中。 然后在需要时调用该variables。 另外,不需要复制/粘贴和select,所有的:)

 Option Explicit Dim myHeader as Variant myHeader = Sheets("Feuil1").Rows(2) Sheets("PageImpression").Rows(2) = myHeader 

更新

要使用Range对象,请执行以下操作:

 Dim myHeader As Range Set myHeader = Sheets(1).Rows(2) Sheets(2).Rows(2).Value = myHeader.Value 

更新2

更清洁(内存+省时)的方法是:

 Option Explicit Dim myHeader as Variant (or Range) With Sheets("Feuil1") myHeader = .Range(.Range("A1"),.Range("A" & .Columns.Count).End(xltoLeft).Column)) 'for variable type Range, add "Set =" in front of line above End With Sheets("PageImpression").Range("A2") = myHeader 'For Range Sheets("PageImpression").Range("A2").Value = myHeader.Value