我的问题其实很简单,但我找不到解决方案。 我有很多可以由用户修改不同名称的工作表。我给每一个这些纸张的背景名字,所以我的第一个两片,它们在我的VBA项目的名字是这样的:循环(名称)表
事实是,我希望做一个宏遍历所有那些特定的表(我有他们的14),我不通过,我使用的不同的东西其他的人要循环,像这样的:
这是很容易使用可以由用户修改的名称(在我的示例中为“常规”和“遗产”)遍历我的表格。不过,我希望用户能够随时修改该名称,如果他这么做,我的宏将不会识别该表的新名称。对我来说非常重要的是,用户不必按下按钮或使用不同的文本框来重命名他的工作表,我不想通过这种方式避免这个问题。
我想要的是能够遍历背景名称(在我的例子中的S1和S2),做这样的事情(我知道下面的代码不好,但它只是给你一个例如):
Sub Example1()
Dim wksht As Worksheet
For i = 1 To 14
Set wksht = "S" & i
wksht.Cells(1, 1).Value = 1
Next i
End Sub
我知道下面的代码适用于1页:
Sub Example2()
Dim wksht As Worksheet
Set wksht = S1
wksht.Cells(1, 1).Value = 1
Next i
End Sub
的问题是S1在我前面的代码是不是一个字符串,所以我不能循环使用“ S“& i。有没有解决我的问题?
使用工作表对象的CodeName来检查您给出的名称:if wksht.CodeName =“S1”then ... end if – Sorceri
Thanks!这确实是我正在寻找的CodeName –