如何通过在设置中列出的表格设置循环



我在此处使用技巧创建了宏,但是它不起作用。在我的设置页面上列出了一张床单,我需要循环浏览此处列出的那些床单。如果我通过其名称声明表,则可以使用。问题是当我尝试使用范围时。

我无法激活列表。在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

最新更新