Τα γραφήματα και τα γραφήματα του Excel χρησιμοποιούνται για την οπτική εμφάνιση δεδομένων. Σε αυτό το σεμινάριο, θα καλύψουμε τον τρόπο χρήσης του VBA για τη δημιουργία και τον χειρισμό γραφημάτων και στοιχείων γραφημάτων.
Μπορείτε να δημιουργήσετε ενσωματωμένα γραφήματα σε ένα φύλλο εργασίας ή γραφήματα στα δικά τους φύλλα γραφημάτων.
Δημιουργία ενσωματωμένου γραφήματος χρησιμοποιώντας VBA
Έχουμε το εύρος A1: B4 που περιέχει τα δεδομένα προέλευσης, που φαίνονται παρακάτω:
Μπορείτε να δημιουργήσετε ένα γράφημα χρησιμοποιώντας τη μέθοδο ChartObjects.Add. Ο ακόλουθος κώδικας θα δημιουργήσει ένα ενσωματωμένο γράφημα στο φύλλο εργασίας:
12345678 | Sub CreateEmbeddedChartUsingChartObject ()Dim embeddedchart As ChartObjectΟρισμός embeddedchart = Φύλλα ("Sheet1"). ChartObjects.Add (Αριστερά: = 180, Πλάτος: = 300, Επάνω: = 7, ightψος: = 200)embeddedchart.Chart.SetSourceData Πηγή: = Φύλλα ("Sheet1"). Εύρος ("A1: B4")Τέλος υπο |
Το αποτέλεσμα είναι:
Μπορείτε επίσης να δημιουργήσετε ένα γράφημα χρησιμοποιώντας τη μέθοδο Shapes.AddChart. Ο ακόλουθος κώδικας θα δημιουργήσει ένα ενσωματωμένο γράφημα στο φύλλο εργασίας:
12345678 | Sub CreateEmbeddedChartUsingShapesAddChart ()Dim embeddedchart As ShapeΟρισμός embeddedchart = Φύλλα ("Sheet1"). Shapes.AddChartembeddedchart.Chart.SetSourceData Πηγή: = Φύλλα ("Sheet1"). Εύρος ("A1: B4")Τέλος υπο |
Καθορισμός τύπου γραφήματος με χρήση VBA
Έχουμε το εύρος A1: B5 που περιέχει τα δεδομένα προέλευσης, που φαίνονται παρακάτω:
Μπορείτε να καθορίσετε έναν τύπο γραφήματος χρησιμοποιώντας την ιδιότητα ChartType. Ο ακόλουθος κώδικας θα δημιουργήσει ένα γράφημα πίτας στο φύλλο εργασίας αφού η ιδιότητα ChartType έχει οριστεί σε xlPie:
123456789 | Sub SpecifyAChartType ()Dim chrt Ως ChartObjectΟρισμός chrt = Φύλλα ("Sheet1"). ChartObjects.Add (Αριστερά: = 180, Πλάτος: = 270, Επάνω: = 7, Heψος: = 210)chrt.Chart.SetSourceData Πηγή: = Φύλλα ("Sheet1"). Εύρος ("A1: B5")chrt.Chart.ChartType = xlPieΤέλος υπο |
Το αποτέλεσμα είναι:
Αυτοί είναι μερικοί από τους δημοφιλείς τύπους γραφημάτων που συνήθως καθορίζονται, αν και υπάρχουν άλλοι:
- xlArea
- xlPie
- xlLine
- xlRadar
- xlXYScatter
- xlΕπιφάνεια
- xlBubble
- xlBarClustered
- xlColumnClustered
Προσθήκη τίτλου γραφήματος με χρήση VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας όπως φαίνεται παρακάτω:
Πρέπει πρώτα να προσθέσετε έναν τίτλο γραφήματος χρησιμοποιώντας τη μέθοδο Chart.SetElement και, στη συνέχεια, να καθορίσετε το κείμενο του τίτλου του γραφήματος, ορίζοντας την ιδιότητα ChartTitle.Text.
Ο παρακάτω κώδικας σάς δείχνει πώς μπορείτε να προσθέσετε έναν τίτλο γραφήματος και να καθορίσετε το κείμενο του τίτλου του Ενεργού γραφήματος:
123456 | Sub AddingAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Οι πωλήσεις του προϊόντος"Τέλος υπο |
Το αποτέλεσμα είναι:
Σημείωση: Πρέπει πρώτα να επιλέξετε το γράφημα για να το κάνετε Ενεργό γράφημα για να μπορείτε να χρησιμοποιήσετε το αντικείμενο ActiveChart στον κώδικά σας.
Αλλαγή χρώματος φόντου γραφήματος χρησιμοποιώντας VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας όπως φαίνεται παρακάτω:
Μπορείτε να αλλάξετε το χρώμα φόντου ολόκληρου του γραφήματος, ορίζοντας την ιδιότητα RGB του αντικειμένου FillFormat του αντικειμένου ChartArea. Ο ακόλουθος κώδικας θα δώσει στο γράφημα ένα ανοιχτό πορτοκαλί χρώμα φόντου:
12345 | Sub AddingABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)Τέλος υπο |
Το αποτέλεσμα είναι:
Μπορείτε επίσης να αλλάξετε το χρώμα φόντου ολόκληρου του γραφήματος, ορίζοντας την ιδιότητα ColorIndex του αντικειμένου Interior του αντικειμένου ChartArea. Ο ακόλουθος κώδικας θα δώσει στο γράφημα ένα πορτοκαλί χρώμα φόντου:
12345 | Sub AddingABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40Τέλος υπο |
Το αποτέλεσμα είναι:
Σημείωση: Η ιδιότητα ColorIndex σάς επιτρέπει να καθορίσετε ένα χρώμα με βάση την τιμή από 1 έως 56, που προέρχεται από την προκαθορισμένη παλέτα, για να δείτε ποιες τιμές αντιπροσωπεύουν τα διαφορετικά χρώματα, κάντε κλικ εδώ.
Αλλαγή χρώματος περιοχής γραφήματος γραφήματος χρησιμοποιώντας VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας όπως φαίνεται παρακάτω:
Μπορείτε να αλλάξετε το χρώμα φόντου μόνο της περιοχής γραφήματος του γραφήματος, ορίζοντας την ιδιότητα RGB του αντικειμένου FillFormat του αντικειμένου PlotArea. Ο ακόλουθος κώδικας θα δώσει στην περιοχή του γραφήματος ένα ανοιχτό πράσινο χρώμα φόντου:
12345 | Sub AddingABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)Τέλος υπο |
Το αποτέλεσμα είναι:
Προσθήκη θρύλου χρησιμοποιώντας VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορείτε να προσθέσετε έναν μύθο χρησιμοποιώντας τη μέθοδο Chart.SetElement. Ο ακόλουθος κώδικας προσθέτει έναν υπόμνημα στα αριστερά του γραφήματος:
12345 | Sub AddingALegend ()ActiveChart.SetElement (msoElementLegendLeft)Τέλος υπο |
Το αποτέλεσμα είναι:
Μπορείτε να καθορίσετε τη θέση του θρύλου με τους ακόλουθους τρόπους:
- msoElementLegendLeft - εμφανίζει το μύθο στην αριστερή πλευρά του γραφήματος.
- msoElementLegendLeftOverlay - επικαλύπτει το μύθο στην αριστερή πλευρά του γραφήματος.
- msoElementLegendRight - εμφανίζει το μύθο στη δεξιά πλευρά του γραφήματος.
- msoElementLegendRightOverlay - επικαλύπτει το μύθο στη δεξιά πλευρά του γραφήματος.
- msoElementLegendBottom - εμφανίζει το μύθο στο κάτω μέρος του γραφήματος.
- msoElementLegendTop - εμφανίζει τον θρύλο στην κορυφή του γραφήματος.
Προσθήκη ετικετών δεδομένων χρησιμοποιώντας VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορείτε να προσθέσετε ετικέτες δεδομένων χρησιμοποιώντας τη μέθοδο Chart.SetElement. Ο ακόλουθος κώδικας προσθέτει ετικέτες δεδομένων στο εσωτερικό άκρο του γραφήματος:
12345 | Sub AddingADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndΤέλος υπο |
Το αποτέλεσμα είναι:
Μπορείτε να καθορίσετε πώς τοποθετούνται οι ετικέτες δεδομένων με τους ακόλουθους τρόπους:
- msoElementDataLabelShow - εμφάνιση ετικετών δεδομένων.
- msoElementDataLabelRight - εμφανίζει ετικέτες δεδομένων στα δεξιά του γραφήματος.
- msoElementDataLabelLeft - εμφανίζει ετικέτες δεδομένων στα αριστερά του γραφήματος.
- msoElementDataLabelTop - εμφανίζει ετικέτες δεδομένων στο επάνω μέρος του γραφήματος.
- msoElementDataLabelBestFit - καθορίζει την καλύτερη εφαρμογή.
- msoElementDataLabelBottom - εμφανίζει ετικέτες δεδομένων στο κάτω μέρος του γραφήματος.
- msoElementDataLabelCallout - εμφανίζει τις ετικέτες δεδομένων ως επεξήγηση.
- msoElementDataLabelCenter - εμφανίζει ετικέτες δεδομένων στο κέντρο.
- msoElementDataLabelInsideBase - εμφανίζει ετικέτες δεδομένων στην εσωτερική βάση.
- msoElementDataLabelOutSideEnd - εμφανίζει ετικέτες δεδομένων στο εξωτερικό άκρο του γραφήματος.
- msoElementDataLabelInsideEnd - εμφανίζει ετικέτες δεδομένων στο εσωτερικό άκρο του γραφήματος.
Προσθήκη άξονα Χ και τίτλου σε VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορείτε να προσθέσετε έναν τίτλο X-axis και X-axis χρησιμοποιώντας τη μέθοδο Chart.SetElement. Ο ακόλουθος κώδικας προσθέτει έναν τίτλο άξονα Χ και άξονα Χ στο γράφημα:
123456789 | Υπο ΠροσθήκηAnXAxisandXTitle ()Με το ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalΤέλος μεΤέλος υπο |
Το αποτέλεσμα είναι:
Προσθήκη άξονα Υ και τίτλου στο VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορείτε να προσθέσετε έναν τίτλο άξονα Υ και άξονα Υ χρησιμοποιώντας τη μέθοδο Chart.SetElement. Ο ακόλουθος κώδικας προσθέτει έναν τίτλο άξονα Υ και άξονα Υ στο γράφημα:
1234567 | Sub AddingAYAxisandYTitle ()Με το ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalΤέλος μεΤέλος υπο |
Το αποτέλεσμα είναι:
Αλλαγή της μορφής αριθμών ενός άξονα
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορείτε να αλλάξετε τη μορφή αριθμών ενός άξονα. Ο ακόλουθος κώδικας αλλάζει τη μορφή αριθμών του άξονα y σε νόμισμα:
12345 | Sub ChangingTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$#, ## 0,00"Τέλος υπο |
Το αποτέλεσμα είναι:
Αλλαγή της μορφοποίησης της γραμματοσειράς σε ένα γράφημα
Έχουμε το παρακάτω διάγραμμα επιλεγμένο στο φύλλο εργασίας όπως φαίνεται παρακάτω:
Μπορείτε να αλλάξετε τη μορφοποίηση ολόκληρης της γραμματοσειράς γραφήματος, παραπέμποντας στο αντικείμενο γραμματοσειράς και αλλάζοντας το όνομα, το βάρος γραμματοσειράς και το μέγεθος του. Ο παρακάτω κώδικας αλλάζει τον τύπο, το βάρος και το μέγεθος της γραμματοσειράς ολόκληρου του γραφήματος.
12345678910 | Sub ChangingTheFontFormatting ()Με το ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = True.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Τέλος με |
Το αποτέλεσμα είναι:
Διαγραφή γραφήματος με χρήση VBA
Έχουμε ένα διάγραμμα επιλεγμένο στο φύλλο εργασίας, όπως φαίνεται παρακάτω:
Μπορούμε να χρησιμοποιήσουμε τον ακόλουθο κώδικα για να διαγράψουμε αυτό το γράφημα:
12345 | Υποδιαγραφή TheChart ()ActiveChart.Parent.DeleteΤέλος υπο |
Αναφορά στη Συλλογή ChartObjects
Μπορείτε να αποκτήσετε πρόσβαση σε όλα τα ενσωματωμένα γραφήματα στο φύλλο εργασίας ή στο βιβλίο εργασίας σας, ανατρέχοντας στη συλλογή ChartObjects. Έχουμε δύο γραφήματα στο ίδιο φύλλο που φαίνεται παρακάτω:
Θα αναφερθούμε στη συλλογή ChartObjects για να δώσουμε και στα δύο γραφήματα στο φύλλο εργασίας το ίδιο ύψος, πλάτος, να διαγράψουμε τις γραμμές πλέγματος, να κάνουμε το χρώμα του φόντου το ίδιο, να δώσουμε στα γραφήματα το ίδιο χρώμα της επιφάνειας του γραφήματος και να κάνουμε το χρώμα της γραμμής της περιοχής του οικοπέδου το ίδιο χρώμα:
12345678910111213141516 | Sub ReferenceToAllTheChartsOnASheet ()Dim cht As ChartObjectΓια κάθε cht στο ActiveSheet.ChartObjectscht. eψος = 144,85cht. Πλάτος = 246,61cht.Chart.Axes (xlValue) .MajorGridlines.Deletecht.Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB (242, 242, 242)cht.Chart.ChartArea.Format.Fill.ForeColor.RGB = RGB (234, 234, 234)cht.Chart.PlotArea.Format.Line.ForeColor.RGB = RGB (18, 97, 172)Επόμενο chtΤέλος υπο |
Το αποτέλεσμα είναι:
Εισαγωγή γραφήματος στο δικό του φύλλο γραφήματος
Έχουμε το εύρος A1: B6 που περιέχει τα δεδομένα προέλευσης, που φαίνονται παρακάτω:
Μπορείτε να δημιουργήσετε ένα γράφημα χρησιμοποιώντας τη μέθοδο Charts.Add. Ο ακόλουθος κώδικας θα δημιουργήσει ένα γράφημα στο δικό του φύλλο γραφημάτων:
123456 | Sub InsertingAChartOnItsOwnChartSheet ()Φύλλα ("Sheet1"). Εύρος ("A1: B6"). ΕπιλέξτεΔιαγράμματα. ΠροσθήκηΤέλος υπο |
Το αποτέλεσμα είναι:
Δείτε μερικά από τα άλλα σεμινάρια χαρτογράφησης:
Διαγράμματα στο Excel
Δημιουργήστε ένα γράφημα ράβδων στο VBA