我正在构建一个宏来将一个长表拆分为多个小表,并且我希望将标题保存在一个变量中,以便能够快速将其粘贴到小表的顶部。
我做了一个宏来做第一个(很简单)
Sheets("Feuil1").Select
Rows("2:2").Select
Selection.Copy
Sheets("PageImpression").Select
Rows("2:2").Select
ActiveSheet.Paste
如何将我Selection.Copy
的变量保存在变量中,以及如何在需要时粘贴它?
我正在构建一个宏来将一个长表拆分为多个小表,并且我希望将标题保存在一个变量中,以便能够快速将其粘贴到小表的顶部。
我做了一个宏来做第一个(很简单)
Sheets("Feuil1").Select
Rows("2:2").Select
Selection.Copy
Sheets("PageImpression").Select
Rows("2:2").Select
ActiveSheet.Paste
如何将我Selection.Copy
的变量保存在变量中,以及如何在需要时粘贴它?
答案是将行存储到变量中。然后在需要时调用该变量。此外,不需要复制/粘贴和选择等等:)
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