gpt4 book ai didi

vba - 将相同的方法应用于多个对象

转载 作者:行者123 更新时间:2023-12-04 22:05:30 25 4
gpt4 key购买 nike

我很想知道是否有办法将相同的方法应用于多个对象。换句话说,我正在寻找某种与“With”语句相反的东西。

我知道使用“With”语句,我可以将多个方法应用于单个对象:

With ITEM_RNG
.ClearContents
.ClearFormats
.ClearOutline
End With

但是,我有多个范围对象,我想应用一个方法:
ITEM_RNG.ClearContents
VALUE_RNG.ClearContents
SUM_RNG.ClearContents

我试图创建一个要循环的对象数组,但它似乎比上述语法更复杂。有没有办法做到这一点,而无需单独明确地将 .ClearContents 附加到每个对象?

现在,使用我对 Union 函数的了解,我尝试使用以下方法,但没有成功。
Sub ClearBox(SeriesBox As MSForms.ListBox)
SeriesBox.Clear
End Sub

Sub SeriesBoxesClearall()
ClearBox Application.Union(SERIES1_BOX, SERIES2_BOX, SERIES3_BOX)
End Sub

其中 SERIES[1-3]_BOX 是 MSForms.ListBox 对象。有没有办法使这项工作,或者联盟不适用于这里?

最佳答案

您可以使用Application.Union (假设你所有的范围都在同一张纸上):

Application.Union(ITEM_RNG,VALUE_RNG,SUM_RNG).ClearContents

或像这样:
With Application.Union(ITEM_RNG,VALUE_RNG,SUM_RNG)
.ClearContents
.ClearFormats
.ClearOutline
End With

更新:
Sub cleanUp(rng As Range)
rng.ClearContents
End Sub

Sub test()
Call cleanUp(Application.Union(ITEM_RNG,VALUE_RNG,SUM_RNG))
End Sub

关于vba - 将相同的方法应用于多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22922576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com