Δημιουργία γραφήματος στήλης κελιού - Συμβουλές για το Excel

Ένας αναγνώστης από την Τσεχική Δημοκρατία ρώτησε για τη δημιουργία ενός διαγράμματος εντός κελιού για να δείξει ένα ποσοστό.

Εάν η τιμή σε ένα κελί ήταν 37%, πώς μπορώ να γεμίσω το 37% του κελιού από το κάτω μέρος με ένα χρώμα;

Ο Mala Singh από το τμήμα γραφικών μας βρήκε αυτήν την ενδιαφέρουσα λύση για να παράγει το επιθυμητό αποτέλεσμα. Ο Mala δημιούργησε ένα φύλλο εργασίας όπου κάθε σειρά αποτελείται πραγματικά από 2 συγχωνευμένες σειρές. Τα κελιά B2 & B3 συγχωνεύονται μαζί σε ένα μόνο κελί. Όταν αλλάξει η τιμή στο B2, λίγο από τον κώδικα VBA στο παράθυρο φύλλου εργασίας θα προσαρμόσει αυτόματα το ύψος της σειράς 2 και της σειράς 3. Το κελί C3 είναι μπλε και το κελί C2 είναι λευκό. Το αποτέλεσμα είναι ότι η στήλη C φαίνεται να δείχνει ένα γράφημα στηλών στο κελί. Αυτή η εικόνα δείχνει διάφορα ύψη της μπλε ράβδου στα κελιά C2 έως C13.

Το πρώτο βήμα είναι να συγχωνεύσετε τα κελιά B2 & B3 σε ένα κελί. Θα επιλέξετε τα κελιά B2 & B3. Από το μενού, επιλέξτε Μορφή, κελιά. Μεταβείτε στην καρτέλα Ευθυγράμμιση. Επιλέξτε το πλαίσιο για συγχώνευση κελιών. Αυτό θα προκαλέσει τα B2 & B3 να ενεργούν ως ένα μόνο κελί που ονομάζεται B2.

Αφήστε το κελί C2 χωρίς γέμισμα και χρησιμοποιήστε χρώμα πλήρωσης για το κελί C3.

Ο κωδικός για αυτήν την τεχνική δεν τοποθετείται σε μια κανονική ενότητα. Είναι κωδικός "χειριστή συμβάντων" και πρέπει να τοποθετηθεί στη μονάδα κώδικα για αυτό το συγκεκριμένο φύλλο εργασίας. Διαβάστε το Macro Event για να προσθέσετε διαδρομή και όνομα αρχείου στο Excel Header άρθρο για να δείτε πώς να ανοίξετε τη μονάδα κώδικα για ένα φύλλο εργασίας.

Εισαγάγετε τον ακόλουθο κωδικό στη μονάδα κώδικα για το Sheet1 (ή οποιοδήποτε φύλλο με το οποίο εργάζεστε).

Private Sub Worksheet_Change(ByVal Target As Range) Dim cell As Range For Each cell In Target.Cells If cell.Column = 2 And cell.Row> 1 Then If cell.Value> 1 Or cell.Value < 0 Then cell.Select MsgBox ("Value must be between 0 and 100%") End If If IsEmpty(cell) Or cell.Value = 0 Then cell.Range("B1:B2").RowHeight = 25 'cell.Range("B2").Interior.ColorIndex = xlNone Else On Error Resume Next cell.Range("B1").RowHeight = 50 * (1 - cell.Value) With cell.Range("B2") .RowHeight = 50 * cell.Value '.Interior.Color = RGB(0, 0, 255) On Error GoTo 0 End With End If End If Next End Sub

Μπορείτε να επαναλάβετε τη διαδικασία συγχώνευσης ζευγών κελιών στη στήλη Β.

Ευχαριστώ τον Mala Singh για αυτήν τη λύση. Η Mala μπορεί να σχεδιάσει προσαρμοσμένες λύσεις χαρτογράφησης για να καλύψει οποιαδήποτε ανάγκη. Συνέβαλε στο κεφάλαιο χαρτογράφησης σε VBA και Macros για Excel.

ενδιαφέροντα άρθρα...