che*_*eak 9 excel vba excel-vba
我有一个Sub,它从模板中插入一个标题并冻结活动工作表的顶行,该行被写为,
Sub HeaderInsert(headerTemplate As Worksheet)
headerTemplate.Rows("1:1").Copy
ActiveSheet.Rows("1:1").Select
ActiveSheet.Paste
With ActiveWindow
.SplitColumn = 0
.SplitRow = 1
.FreezePanes = True
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
我想把它变成一个函数,它传递工作表插入标题.所以它会写,
Function HeaderInsert(headerTemplate As Worksheet, contentSheet as Worksheet)
Run Code Online (Sandbox Code Playgroud)
ActiveSheet变contentSheet,但我怎么能得到Window的contentSheet?
还有一种更好的方法来复制和粘贴吗?
Dou*_*ncy 12
我想你想要contentSheet.Parent.Windows(1),例如:
Sub test()
Dim ws As Excel.Worksheet
Dim wb As Excel.Workbook
Set ws = ActiveSheet
Set wb = ws.Parent
Debug.Print wb.Windows(1).Caption
End Sub
Run Code Online (Sandbox Code Playgroud)
至于更好的粘贴方式:headerTemplate.Rows("1:1").复制ActiveSheet.Rows("1:1")