Αυτό το σεμινάριο θα δείξει πώς μπορείτε να ανανεώσετε έναν Συγκεντρωτικό πίνακα ή όλους τους Συγκεντρωτικούς πίνακες χρησιμοποιώντας το 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Τέλος υπο |