VBA - Ανανέωση περιστροφικού πίνακα / Όλοι οι συγκεντρωτικοί πίνακες

Αυτό το σεμινάριο θα δείξει πώς μπορείτε να ανανεώσετε έναν Συγκεντρωτικό πίνακα ή όλους τους Συγκεντρωτικούς πίνακες χρησιμοποιώντας το VBA.

Οι περιστρεφόμενοι πίνακες είναι ένα εξαιρετικά ισχυρό εργαλείο δεδομένων του Excel. Οι περιστρεφόμενοι πίνακες μας δίνουν τη δυνατότητα να αναλύσουμε και να ερμηνεύσουμε μεγάλες ποσότητες δεδομένων ομαδοποιώντας και συνοψίζοντας πεδία και σειρές.

Όταν δημιουργούμε έναν Συγκεντρωτικό πίνακα, τα δεδομένα αποθηκεύονται σε αυτό που είναι γνωστό ως προσωρινή μνήμη του Συγκεντρωτικού πίνακα. Επομένως, τα δεδομένα αποθηκεύονται στη μνήμη cache του υπολογιστή, η οποία επιταχύνει τον Συγκεντρωτικό πίνακα.

Εάν ενημερωθεί η προέλευση δεδομένων του Συγκεντρωτικού πίνακα, ο ίδιος ο Συγκεντρωτικός πίνακας δεν ενημερώνεται. Ο χρήστης στο Excel πρέπει να κάνει κλικ στο Ανανέωση όλων στην καρτέλα Δεδομένα στην Κορδέλα για να ανανεώσετε τα δεδομένα προέλευσης του Συγκεντρωτικού πίνακα.

Εναλλακτικά, μπορούμε να γράψουμε μακροεντολές σε VBA που θα ενημερώσουν τα δεδομένα για εμάς!

Ανανεώστε όλες τις συνδέσεις δεδομένων

Η πιο απλή μέθοδος για την ανανέωση των δεδομένων είναι η χρήση του VBA για να μιμηθεί αυτό που Ανανέωση όλων το κουμπί λειτουργεί στην κορδέλα.

123 Sub RefreshConnections ()ActiveWorkbook.RefreshAllΤέλος υπο

Αυτή η μέθοδος θα ανανεώσει όλες τις συνδέσεις με οποιαδήποτε δεδομένα στο βιβλίο εργασίας που έχετε ενεργοποιήσει. Επίσης, όχι μόνο θα ανανεώσει έναν μόνο Συγκεντρωτικό πίνακα αλλά θα ανανεώσει πολλούς Συγκεντρωτικούς πίνακες εάν έχετε περισσότερους από έναν συνδεδεμένους σε διαφορετικά σύνολα δεδομένων.

Ανανεώστε όλους τους Συγκεντρωτικούς Πίνακες

Για να ανανεώσετε μόνο τους Συγκεντρωτικούς πίνακες στο βιβλίο εργασίας μας, αλλά να αποκλείσουμε τυχόν άλλες συνδέσεις δεδομένων, μπορούμε να χρησιμοποιήσουμε μια μέθοδο που ονομάζεται RefreshTable.

Εάν έχουμε πολλούς Συγκεντρωτικούς πίνακες στο βιβλίο εργασίας μας, θα χρειαστεί να περιηγηθούμε σε όλους τους Συγκεντρωτικούς πίνακες για να τους ανανεώσουμε όλους. Για να το κάνουμε αυτό, δηλώνουμε πρώτα μια Μεταβλητή Συγκεντρωτικού Πίνακα και στη συνέχεια δημιουργούμε έναν βρόχο Για κάθε βρόχο για να βολέψει όλους τους Συγκεντρωτικούς πίνακες στο ενεργό βιβλίο εργασίας.

123456 Sub RefreshPivotsOnly ()Dim tblPivot As PivotTableΓια κάθε tblPivot In ActiveWorkbook.PivotTablestblPivot.RefreshTableΕπόμενο tblPivotΤέλος υπο

Μπορούμε να χρησιμοποιήσουμε μια παρόμοια μακροεντολή για να ανανεώσουμε τους Συγκεντρωτικούς πίνακες στους δικούς μας Ενεργό φύλλο παρά ολόκληρο το βιβλίο εργασίας. Στη συνέχεια, θα περιηγηθούμε στους Συγκεντρωτικούς πίνακες στο ActiveSheet παρά το ActiveWorkbook.

123456 Sub RefreshActiveSheetPivotsOnly ()Dim tblPivot As PivotTableΓια κάθε tblPivot In ActiveSheet.PivotTablestblPivot.RefreshTableΕπόμενο tblPivotΤέλος υπο

Αυτή η μακροεντολή θα ήταν πολύ χρήσιμη αν είχαμε εύκολη πρόσβαση σε αυτήν από το δικό μας ActiveSheetΤο Για να γίνει αυτό, μπορούμε να δημιουργήσουμε ένα κουμπί στο φύλλο για να τρέξει η μακροεντολή.

Ανανεώστε έναν Συγκεντρωτικό Πίνακα

Εάν θέλουμε απλώς να ανανεώσουμε τον Συγκεντρωτικό πίνακα στον οποίο εργαζόμαστε και όχι όλους τους άλλους Συγκεντρωτικούς πίνακες στο βιβλίο εργασίας, πρέπει να προσδιορίσουμε τον συγκεκριμένο Συγκεντρωτικό πίνακα. Αυτό είναι φυσικά αρκεί να γνωρίζετε το όνομα του Συγκεντρωτικού πίνακα - σε αυτή την περίπτωση Συγκεντρωτικός πίνακας 1.

123 Sub RefreshOneTableActiveSheet.PivotTables ("Συγκεντρωτικός Πίνακας1"). RefreshTableΤέλος υπο

Ανανέωση της προσωρινής μνήμης του Συγκεντρωτικού πίνακα

Αν έχουμε πολλούς Συγκεντρωτικούς πίνακες στο βιβλίο εργασίας μας, αλλά όλοι χρησιμοποιούν τα ίδια δεδομένα, μπορούμε να ανανεώσουμε την προσωρινή μνήμη του Συγκεντρωτικού πίνακα αντί να ανανεώσουμε τον πραγματικό Συγκεντρωτικό πίνακα. Η ανανέωση της προσωρινής μνήμης θα ανανεώσει αυτόματα όλους τους Συγκεντρωτικούς πίνακες που χρησιμοποιούν τα δεδομένα που περιέχονται στην κρυφή μνήμη.

123456 Sub RefreshCache ()Dim chPivot As PivotCacheΓια κάθε chPivot In ActiveWorkbook.PivotCacheschPivot.ΑνανέωσηΕπόμενο chPivotΤέλος υπο
wave wave wave wave wave