Shairal phát triển PivotTables hàng ngày, sử dụng nhiều nguồn dữ liệu khác nhau như danh sách Excel, bảng Access và dữ liệu OLAP. Một trong những điều khó chịu nhất mà anh ấy giải quyết là tắt chức năng tổng phụ tự động trên từng trường, từng trường một. Điều này có thể tốn thời gian tùy thuộc vào số lượng trường anh ta sử dụng. Shairal tự hỏi liệu việc sử dụng macro để loại bỏ tổng phụ cho tất cả các trường cùng một lúc có dễ dàng hơn không.

Câu trả lời là sử dụng macro sẽ dễ dàng hơn. (Đó là mục đích của macro — để giải quyết những việc tẻ nhạt mà bạn mệt mỏi.) Tuy nhiên, thay vì phát minh lại bánh xe, một giải pháp tốt là xem xét đoạn mã sau, được điều chỉnh từ trang web của Microsoft MVP Debra Daglisesh:

Sub NoSubtotals()

'turns off subtotals in pivot table     '.PivotFields could be changed to     '.RowFields or .ColumnFields

Dim pt As PivotTable     Dim pf As PivotField

On Error Resume Next     For Each pt In ActiveSheet.PivotTables         For Each pf In pt.PivotFields             'First, set index 1 (Automatic) to True,             'so all other values are set to False             pf.Subtotals(1) = True             pf.Subtotals(1) = False         Next pf     Next pt End Sub

Chỉ cần hiển thị PivotTable bạn muốn ảnh hưởng, sau đó chạy macro.

Tổng phụ cho tất cả các trường trong PivotTable được loại bỏ cùng một lúc. Bản gốc của mã này có sẵn tại đây, tại trang web của Debra:

http://www.contextures.com/xlPivot03.html#Subtotals

Trang web cũng chứa một số thông tin hữu ích khác để làm việc với PivotTables.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3103) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.