Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 浏览工作簿中的所有工作表,并遍历它们的表_Vba_Excel - Fatal编程技术网

Vba 浏览工作簿中的所有工作表,并遍历它们的表

Vba 浏览工作簿中的所有工作表,并遍历它们的表,vba,excel,Vba,Excel,我在excel工作簿中有多张工作表,每张工作表都有一个表。我希望选择对象中的所有图纸,以便通过逐个选择集中的表来遍历它们 我如何才能做到这一点?这应该让您开始: Dim ws As Worksheet Dim tbl As ListObject For Each ws In ThisWorkbook.Worksheets For Each tbl In ws.ListObjects Debug.Print ws.Name, tbl.Name, tbl.Range.Add

我在excel工作簿中有多张工作表,每张工作表都有一个表。我希望选择对象中的所有图纸,以便通过逐个选择
集中的表来遍历它们


我如何才能做到这一点?

这应该让您开始:

Dim ws As Worksheet
Dim tbl As ListObject

For Each ws In ThisWorkbook.Worksheets
    For Each tbl In ws.ListObjects
        Debug.Print ws.Name, tbl.Name, tbl.Range.Address
    Next tbl
Next ws
我找到了这个主题的答案


编辑:您似乎使用了
表格
来谈论简单的
范围
,这里有一个面向
范围
的备选方案:

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    Debug.Print ws.Name, Range("A1").CurrentRegion.Address
Next ws

范围在图纸中,而不是相反。图纸不能在一个范围内。您应该重新表述您的问题我想选择一个对象中的所有工作表,这样我就可以通过逐个选择集合对象中的表来迭代这些工作表。谢谢,我可以通过此操作获得工作表,但
ws.ListObjects.Count
保持为零。在excel中,什么构成表格?我的工作表的单元格和行中都有数据,这些数据应该被视为表格?
Sub LoopThroughAllTablesinWorkbook()

    Dim tbl As ListObject
    Dim sht As Worksheet

    For Each sht In ThisWorkbook.Worksheets
        For Each tbl In sht.ListObjects

            'Your code here...

        Next tbl
    Next sht

End Sub