gpt4 book ai didi

excel - 将多个工作表声明为变量

转载 作者:行者123 更新时间:2023-12-04 21:28:41 24 4
gpt4 key购买 nike

我正在尝试以这种方式为工作表声明一些变量

Dim e
For Each e In Array("Data", "CL", "SE", "GE", "E1", "E2", "E3", "E4", "E5", "STP", "STF", "RH", "CR", "MC", "AW")
Set wsData = ThisWorkbook.Worksheets(e)
Next e

是否可以使用一维数组声明所有工作表..?如果没有,是否有聪明的方法来做到这一点..?
示例 wsData 引用工作表“数据”
和 wsCL 来引用工作表“CL”等等。

最佳答案

您不能在 VBA 中使用变量变量名。你可以做的是通过它的代号来引用工作表。例如:

with wsData
'code
end with

现在 Excel 通常以“Sheet1”、“Sheet2”等形式为工作表分配代号。您要做的是将这些代号更改为您想要的名称,以便您可以像在您的问题。为了改变它们,你可以像这样运行一个循环:
Sub setSheetCodenames()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
ws.[_CodeName] = "ws" & ws.Name
Next

End Sub

这将导致工作表“Data”能够被称为“wsData”,工作表 CL 被称为“wsCL”等等。

注意:这假设您的工作表已经创建。如果不是,那么您需要在运行此代码之前先创建它们。

关于excel - 将多个工作表声明为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62123366/

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