Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để liệt kê tất cả các bảng tổng hợp từ một sổ làm việc?

Giả sử bạn có một sổ làm việc lớn chứa nhiều bảng tổng hợp, bây giờ, bạn muốn liệt kê tất cả các bảng tổng hợp trong sổ làm việc này, có được không? Tất nhiên, mã VBA sau trong bài viết này sẽ giúp bạn. Để biết thêm thông tin chi tiết, mời bạn đọc tham khảo bài viết dưới đây.

Liệt kê tất cả các bảng tổng hợp từ một sổ làm việc với mã VBA

Tab Office Cho phép Chỉnh sửa và Duyệt theo Tab trong Office, và Giúp Công việc của Bạn Dễ dàng hơn Nhiều ...
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
  • Tái sử dụng mọi thứ: Thêm các công thức, biểu đồ và bất kỳ thứ gì khác được sử dụng nhiều nhất hoặc phức tạp vào mục yêu thích của bạn và nhanh chóng sử dụng lại chúng trong tương lai.
  • Hơn 20 tính năng văn bản: Trích xuất số từ chuỗi văn bản; Trích xuất hoặc loại bỏ một phần nội dung; Chuyển đổi số và tiền tệ sang từ tiếng Anh.
  • Công cụ hợp nhất: Nhiều Workbook và Sheets thành một; Hợp nhất nhiều ô / hàng / cột mà không làm mất dữ liệu; Hợp nhất các hàng và tổng trùng lặp.
  • Công cụ tách: Chia Dữ liệu thành Nhiều Trang tính Dựa trên Giá trị; Một sổ làm việc cho nhiều tệp Excel, PDF hoặc CSV; Một cột đến nhiều cột.
  • Dán bỏ qua Hàng ẩn / được lọc; Đếm và tổng theo Màu nền; Gửi hàng loạt email được cá nhân hóa cho nhiều người nhận.
  • Bộ lọc siêu: Tạo lược đồ lọc nâng cao và áp dụng cho bất kỳ trang tính nào; Sắp xếp theo tuần, ngày, tần suất và hơn thế nữa; Lọc bằng cách in đậm, công thức, chú thích ...
  • Hơn 300 tính năng mạnh mẽ; Hoạt động với Office 2007-2021 và 365; Hỗ trợ tất cả các ngôn ngữ; Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn.

mũi tên màu xanh bong bóng bên phải Liệt kê tất cả các bảng tổng hợp từ một sổ làm việc với mã VBA

Mã VBA sau có thể giúp bạn liệt kê tất cả các tên bảng tổng hợp cùng với các thuộc tính của chúng, chẳng hạn như phạm vi dữ liệu nguồn, tên trang tính, ngày làm mới, v.v.

1. Mở sổ làm việc của bạn mà bạn muốn liệt kê tất cả các bảng tổng hợp.

2. Giữ ALT + F11 chìa khóa và nó mở Cửa sổ Microsoft Visual Basic for Applications.

3. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Liệt kê tất cả các bảng tổng hợp từ một sổ làm việc

Sub ListPivotsInfor()
'Update 20141112
    Dim St As Worksheet
    Dim NewSt As Worksheet
    Dim pt As PivotTable
    Dim I, K As Long
    Application.ScreenUpdating = False
    Set NewSt = Worksheets.Add
    I = 1: K = 2
    With NewSt
        .Cells(I, 1) = "Name"
        .Cells(I, 2) = "Source"
        .Cells(I, 3) = "Refreshed by"
        .Cells(I, 4) = "Refreshed"
        .Cells(I, 5) = "Sheet"
        .Cells(I, 6) = "Location"
        For Each St In ActiveWorkbook.Worksheets
            For Each pt In St.PivotTables
                I = I + 1
                .Cells(I, 1).Value = pt.Name
                .Cells(I, 2).Value = pt.SourceData
                .Cells(I, 3).Value = pt.RefreshName
                .Cells(I, 4).Value = pt.RefreshDate
                .Cells(I, 5).Value = St.Name
                .Cells(I, 6).Value = pt.TableRange1.Address
            Next
        Next
        .Activate
    End With
    Application.ScreenUpdating = True
End Sub

4. Sau đó nhấn F5 để chạy mã này, tất cả các tên bảng tổng hợp, phạm vi dữ liệu nguồn, tên trang tính và các thuộc tính khác được liệt kê trong một trang tính mới được đặt ở phía trước trang tính đang hoạt động của bạn như ảnh chụp màn hình sau:

doc-list-all-pivottable-1


Các bài liên quan:

Làm cách nào để kiểm tra xem bảng tổng hợp có tồn tại trong sổ làm việc không?

Làm cách nào để thêm nhiều trường vào bảng tổng hợp?


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (20)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đồ tốt. Có thể bao gồm đoạn mã này để đặt tên bảng tổng hợp thành một siêu liên kết. .Cells (I, 1) .Parent.Hyperlinks.Add Anchor: =. Cells (I, 1) _, Address: = "" _, SubAddress: = "'" + St.Name + "'!" + Split (pt.TableRange1.Address, ":") (0) _, TextToDisplay: = pt.Name With .Cells (I, 7) .Font .ColorIndex = xlAutomatic .Underline = xlUnderlineStyleNone End With .Cells (I, 7) .Characters (Start: = 1, Length: = Len (pt.Name)). Font .Underline = xlUnderlineStyleSingle .Color = -4165632 End With
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ж н Не могли бы слелать код более читабельным (разбить на строки и переменные).
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
thông minh. Cảm ơn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là một phát hiện lớn đối với tôi! Ước gì tôi đã tìm kiếm giải pháp này ba ngày trước. Nó sẽ giúp tôi tiết kiệm hàng giờ !! Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cần sửa một tệp có hơn 60 bảng tổng hợp trong đó. Ban đầu hãy nhấp vào từng cái một để sửa (như trường hợp khi ai đó 'hủy liên kết' chúng nhưng tôi không thể tài trợ cho tất cả những cái sai. Nó tìm thấy cái cuối cùng trên một vài cột bị ẩn trên bản gốc). Đoạn mã đẹp!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã cố gắng chạy điều này trong excel 2013 và tôi gặp lỗi Thời gian chạy '1004': Lỗi do ứng dụng xác định hoặc do đối tượng xác định. Nếu comment dòng .Cells (I, 2) .Value = pt.SourceData thì nó vẫn chạy tốt, bạn có thể tư vấn giúp tôi những gì tôi có thể cần làm để phần SourceData hoạt động được không? Cảm ơn Ross
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
[quote] Tôi đã cố gắng chạy điều này trong excel 2013 và tôi gặp lỗi Thời gian chạy '1004': Lỗi do ứng dụng xác định hoặc do đối tượng xác định. Nếu comment dòng .Cells (I, 2) .Value = pt.SourceData thì nó vẫn chạy tốt, bạn có thể tư vấn giúp tôi những gì tôi có thể cần làm để phần SourceData hoạt động được không? Cảm ơn RossBởi Ross[/ quote] Tôi cũng gặp lỗi tương tự. Tôi nghĩ rằng thật là khủng khiếp khi nguồn cho bảng tổng hợp là Mô hình Dữ liệu Excel và được PowerPivot sử dụng.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cám ơn vì cái này. Đó là một đoạn mã tuyệt vời, rất hữu ích. Như những người khác đã đăng, tôi nghĩ rằng nó không hoạt động đối với các bảng tổng hợp có nguồn dữ liệu cơ bản dựa trên truy vấn dữ liệu Chỉ kết nối. Tôi có một sổ làm việc với một bảng dữ liệu. Sau đó, tôi tạo các truy vấn dữ liệu sổ làm việc được tinh chỉnh hơn dựa trên dữ liệu của một bảng này. Các truy vấn chỉ là kết nối (tránh tăng kích thước sổ làm việc không cần thiết). Sau đó, tôi đã tạo các bảng tổng hợp dựa trên dữ liệu trong các truy vấn sổ làm việc. Khi tôi chạy mã, nó hoạt động tốt đối với các bảng tổng hợp có nguồn gốc truyền thống, nhưng nó gặp lỗi thời gian chạy khi đến các bảng tổng hợp dựa trên dữ liệu trong Truy vấn sổ làm việc. Đặc biệt; nó đưa ra lỗi Run-time "1004": Lỗi do ứng dụng hoặc đối tượng xác định. Dòng mã nơi xảy ra lỗi là: .cells (I, 2) .value = pt.SourceData Cảm ơn bạn đã cung cấp mã và tôi hy vọng phần trên sẽ giúp bạn tinh chỉnh nó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất mạnh. Cám ơn rất nhiều.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đối với thông tin Chỉ kết nối, Thông tin kết nối dữ liệu là thuộc tính của PivotCache
Tôi có một sổ làm việc có hơn 40 bảng tổng hợp với sự kết hợp giữa Bảng Excel và Kết nối dữ liệu máy chủ SQL. Tôi sử dụng mã sau để theo dõi chúng


Sub GetPivotTableInfo ()

Làm mờ wb dưới dạng sổ làm việc
Làm mờ pvt dưới dạng PivotTable
Dim wsheet As Worksheet
Làm mờ máy tính dưới dạng PivotCache

Đặt wb = ActiveWorkbook
Đối với mỗi wsheet Trong wb.Worksheets
Đối với mỗi pvt Trong wsheet.PivotTables
Debug.Print wsheet.Name & ":" & pvt.Name
Đặt pc = wb.PivotCaches (pvt.CacheIndex)
Nếu pc.SourceType = xlDatabase Sau đó
Debug.Print pc.SourceData
Khác
Nếu pc.QueryType = xlOLEDBQuery Thì
Debug.Print pc.Connection
Debug.Print pc.SourceConnectionFile
Debug.Print pc.WorkbookConnection.Name
Debug.Print pc.CommandText
Cuối Nếu
Cuối Nếu


Pvt tiếp theo
Trang tính tiếp theo
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đã cứu tôi khỏi một cơn đau đầu lớn!
Không thể tìm thấy bảng tổng hợp nào đang gây ra "Làm mới tất cả lỗi"
Boom Được liệt kê với các địa điểm, Cảm ơn bạn rất nhiều
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Kinh ngạc!!! thksss !!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thật tuyệt! Tôi đã tìm kiếm một mã như mã này, nhưng với việc bổ sung hiển thị tất cả các trường đang hoạt động trên mỗi bảng. Tôi cần dọn dẹp các bảng nguồn khỏi các trường không cần thiết (quá nặng) và chúng cung cấp một cuốn sách hơn 300 trục. Tôi không muốn truy cập từng bảng tổng hợp một lần để tìm ra những trường nào tôi có thể loại bỏ ... Nếu bạn có thể chỉ cho tôi cách thực hiện, điều đó thật khó tin ... Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì bài đăng, tôi đã làm sạch mã một chút bằng cách xác định tôi và Long và xóa tham chiếu đến K vì nó không được sử dụng. Cuối cùng, tôi đã thêm một dòng ngay dưới. Kích hoạt để hiển thị .Columns.AutoFit của bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
RẤT hữu ích để có trong một nhúm! Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thật tuyệt.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sự trợ giúp rất lớn, đã giúp tôi tiết kiệm rất nhiều thời gian để theo dõi một trong số các bảng tổng hợp được đặt tên giống hệt nhau trong Workbook!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
thời gian chạy lỗi 1004
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Phù hợp hoàn hảo !! Cảm ơn rất nhiều
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất tiếc, tôi đang gặp nhiều lỗi, điều này sẽ hoàn toàn tuyệt vời cho sổ làm việc nhiều tab, nhiều trục của tôi
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL