Excel VBA - 获取工作表的父窗口

 倍儿傻的叶子奇太_900 发布于 2023-02-09 12:41

我有一个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

我想把它变成一个函数,它传递工作表插入标题.所以它会写,

Function HeaderInsert(headerTemplate As Worksheet, contentSheet as Worksheet)

ActiveSheetcontentSheet,但我怎么能得到WindowcontentSheet

还有一种更好的方法来复制和粘贴吗?

1 个回答
  • 我想你想要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
    

    至于更好的粘贴方式:headerTemplate.Rows("1:1").复制ActiveSheet.Rows("1:1")

    更一般地说,除非必要,否则您要避免Select.

    2023-02-09 12:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有