我在此处使用技巧创建了宏,但是它不起作用。在我的设置页面上列出了一张床单,我需要循环浏览此处列出的那些床单。如果我通过其名称声明表,则可以使用。问题是当我尝试使用范围时。
我无法激活列表。在VBA中,我可以通过鼠标指针(99(看到其值,但它不起作用。我的姓是VBA中的List2(99(;99对于用户来说是可见的。(我正在使用捷克语的Excel 365(
Dim List As Range
Dim Listy As Range
Set Listy = Sheets("Setting").Range("A2:A3")
For Each List In Listy
Sheets("99").Activate ' this is working
Sheets(List).Activate 'this is not working
Sheets(List.Value).Activate 'this is not working
Sheets(List.Name).Activate 'this is not working
'... rest of my code
next list
我希望我可以使用范围Listy而不是其名称激活表99。
第二次迭代,当您添加" .value"列表是最接近的列表...我建议您尝试使用 Sheets(list.value(。选择。而不是激活。前者从来没有问题,而后者我倾向于将其用于工作簿。
查看是否对其进行排序:
昏暗列表作为范围清单作为范围 set listy = sheet("设置"(。范围(" a2:a3"(
对于Listy中的每个列表
sheets(list.value(.select '尝试此! 下一个
问题是您的范围是返回整数值。因此,Sheet(index)
调用将索引解释为表格的索引号。因此,您实际上是在打电话表(99(,而不是调用`表格(" 99"(。由于您的工作簿中没有第99页,因此您会遇到"范围内的下标"错误。我们需要做的是将您的值转换为字符串。
这是您应该做的:
Dim Listy As Range
Set Listy = Sheets("Setting").Range("A2:A3")
For Each cell In Listy
Sheets(CStr(cell.Value)).Activate
Next cell