2016-08-30 87 views
-1

我在Excel工作簿中有多個工作表,每個工作表都有一個表。我想選擇一個對象中的所有工作表,以便通過逐個選擇set對象中的表來逐個遍歷它們。瀏覽工作​​簿中的所有工作表並遍歷他們的表

我該怎麼做?

+0

的範圍是在一個片材,而不是相反。表不能在一個範圍內。您應該更改您的問題 –

+0

我想選擇對象中的所有工作表,以便通過逐個選擇集合對象中的表來逐個遍歷它們。 – Maven

回答

1

這應該讓你開始:

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 

我發現this pagethis one覆蓋的主題。


編輯:你似乎已經使用Tables談論簡單Ranges,這裏是一個面向Range替代:

Dim ws As Worksheet 

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

Thankyou,我可以通過這個表獲得牀單,但'ws.ListObjects.Count'保持爲零。什麼是excel中的表格,我的表格中有單元格和行的數據,應該將其視爲表格? – Maven

1
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 
相關問題