Οδηγός VBA για γραφήματα και γραφήματα

Πίνακας περιεχομένων

Τα γραφήματα και τα γραφήματα του 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

wave wave wave wave wave