我的問題其實很簡單,但我找不到解決方案。 我有很多可以由用戶修改不同名稱的工作表。我給每一個這些紙張的背景名字,所以我的第一個兩片,它們在我的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 –