床单有基础班吗

Fun*_*mas 1 excel vba

我编写了一个基本例程,可以执行一些页面格式化操作(设置页眉和页脚等)。该例程将工作表作为第一个参数:

Sub FormatSheet(Optional ws As Worksheet = Nothing, _
            Optional language As String = "Deutsch", _
            ...)
Run Code Online (Sandbox Code Playgroud)

一切都工作得很好,直到今天有人有了一本带有工作表的工作簿Chart。由于您也可以为这样的工作表设置所有属性,因此我对自己说“好吧,没问题,我会将参数类型更改SheetWorksheet- 问题已解决”。但是,我找不到任何此类Sheet- 类。

我的解决方法是将参数类型更改为Object- 这有效。但是,我不太喜欢这种尝试,因为对象可以是任何东西,并且我想明确仅允许 - uuhm Sheets。当然,我可以通过检查对象类型等来解决这个问题,但我的基本问题是:Excel/VBA 中是否有任何工作表的“父”类类型?

Mat*_*don 5

没有,因为没有必要。

如果 的目的FormatSheet是配置工作表的PageSetup,则采用PageSetup参数而不是整个Worksheet

Chart,例如Worksheet,具有PageSetup类型 的属性PageSetup

参见最少知识原理/迪米特法则:给出完成其工作所需的尽可能少的程序。您不需要整体Worksheet来配置PageSetup

  • 我的意思是,我会接受声誉:-D。这是题外话,所以我可能会立即删除此评论,但只是想对 Rubberduck 表示感谢。我真的每天都用它! (2认同)