Μορφοποίηση αριθμών στο Excel VBA
Οι αριθμοί έρχονται σε κάθε είδους μορφές σε φύλλα εργασίας του Excel. Μπορεί να έχετε ήδη εξοικειωθεί με το αναδυόμενο παράθυρο στο Excel για χρήση διαφορετικών αριθμητικών μορφών:
Η μορφοποίηση των αριθμών διευκολύνει την ανάγνωση και την κατανόηση των αριθμών. Η προεπιλογή του Excel για τους αριθμούς που εισάγονται στα κελιά είναι η μορφή "Γενικά", πράγμα που σημαίνει ότι ο αριθμός εμφανίζεται ακριβώς όπως τον πληκτρολογήσατε.
Για παράδειγμα, εάν εισαγάγετε έναν στρογγυλό αριθμό π.χ. 4238, θα εμφανιστεί ως 4238 χωρίς δεκαδική μονάδα ή χιλιάδες διαχωριστικά. Ένας δεκαδικός αριθμός όπως 9325,89 θα εμφανιστεί με την υποδιαστολή και τα δεκαδικά ψηφία. Αυτό σημαίνει ότι δεν θα ευθυγραμμιστεί στη στήλη με τους στρογγυλούς αριθμούς και θα φαίνεται εξαιρετικά ακατάστατο.
Επίσης, χωρίς να δείχνετε τους χιλιάδες διαχωριστές, είναι δύσκολο να δείτε πόσο μεγάλος είναι ένας αριθμός χωρίς να μετράτε τα μεμονωμένα ψηφία. Είναι σε εκατομμύρια ή δεκάδες εκατομμύρια;
Από την άποψη ενός χρήστη που κοιτάζει προς τα κάτω μια στήλη αριθμών, αυτό καθιστά αρκετά δύσκολη την ανάγνωση και τη σύγκριση.
Στο VBA έχετε πρόσβαση στο ίδιο ακριβώς εύρος μορφών που έχετε στο μπροστινό μέρος του Excel. Αυτό ισχύει όχι μόνο για μια εισαγόμενη τιμή σε ένα κελί σε ένα φύλλο εργασίας, αλλά και για πράγματα όπως πλαίσια μηνυμάτων, στοιχεία ελέγχου UserForm, γραφήματα και γραφήματα και τη γραμμή κατάστασης του Excel στην κάτω αριστερή γωνία του φύλλου εργασίας.
Η συνάρτηση Μορφοποίηση είναι μια εξαιρετικά χρήσιμη συνάρτηση στο VBA σε όρους παρουσίασης, αλλά είναι επίσης πολύ περίπλοκη όσον αφορά την ευελιξία που προσφέρεται στον τρόπο εμφάνισης των αριθμών.
Πώς να χρησιμοποιήσετε τη λειτουργία μορφοποίησης στο VBA
Εάν εμφανίζετε ένα πλαίσιο μηνυμάτων, τότε η λειτουργία μορφοποίησης μπορεί να χρησιμοποιηθεί απευθείας:
1 | Μορφή MsgBox (1234567.89, "#, ## 0.00") |
Αυτό θα εμφανίσει έναν μεγάλο αριθμό χρησιμοποιώντας κόμματα για να διαχωρίσει τις χιλιάδες και να εμφανίσει 2 δεκαδικά ψηφία. Το αποτέλεσμα θα είναι 1.234.567,89. Τα μηδενικά στη θέση του κατακερματισμού διασφαλίζουν ότι τα δεκαδικά θα εμφανίζονται ως 00 σε ακέραιους αριθμούς και ότι υπάρχει ένα μηδενικό για έναν αριθμό που είναι μικρότερος από 1
Το σύμβολο hashtag (#) αντιπροσωπεύει ένα σύμβολο κράτησης ψηφίων που εμφανίζει ένα ψηφίο εάν είναι διαθέσιμο σε αυτήν τη θέση ή αλλιώς τίποτα.
Μπορείτε επίσης να χρησιμοποιήσετε τη λειτουργία μορφοποίησης για να απευθυνθείτε σε ένα μεμονωμένο κελί ή σε μια σειρά κελιών για να αλλάξετε τη μορφή:
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A10"). NumberFormat = "#, ## 0,00" |
Αυτός ο κώδικας θα ορίσει το εύρος των κελιών (A1 έως A10) σε μια προσαρμοσμένη μορφή που χωρίζει τις χιλιάδες με κόμματα και εμφανίζει 2 δεκαδικά ψηφία.
Εάν ελέγξετε τη μορφή των κελιών στο μπροστινό άκρο του Excel, θα διαπιστώσετε ότι έχει δημιουργηθεί μια νέα προσαρμοσμένη μορφή.
Μπορείτε επίσης να μορφοποιήσετε αριθμούς στη γραμμή κατάστασης του Excel στην κάτω αριστερή γωνία του παραθύρου του Excel:
1 | Application.StatusBar = Μορφή (1234567.89, "#, ## 0.00") |
Μπορείτε να το διαγράψετε από τη γραμμή κατάστασης χρησιμοποιώντας:
1 | Application.StatusBar = "" |
Δημιουργία συμβολοσειράς μορφοποίησης
Αυτό το παράδειγμα θα προσθέσει το κείμενο "Συνολικές πωλήσεις" μετά από κάθε αριθμό, καθώς και ένα διαχωριστικό χιλιάδων
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "#, ## 0,00" "Συνολικές πωλήσεις" "" |
Κάπως έτσι θα είναι οι αριθμοί σας:
Σημειώστε ότι το κελί A6 έχει έναν τύπο "SUM" και αυτό θα περιλαμβάνει το κείμενο "Συνολικές πωλήσεις" χωρίς να απαιτείται μορφοποίηση. Εάν εφαρμοστεί η μορφοποίηση, όπως στον παραπάνω κώδικα, δεν θα προσθέσει μια επιπλέον περίπτωση "Συνολικών πωλήσεων" στο κελί A6
Παρόλο που τα κελιά εμφανίζουν πλέον άλφα αριθμητικούς χαρακτήρες, οι αριθμοί εξακολουθούν να υπάρχουν σε αριθμητική μορφή. Ο τύπος "SUM" εξακολουθεί να λειτουργεί επειδή χρησιμοποιεί την αριθμητική τιμή στο παρασκήνιο και όχι τον τρόπο μορφοποίησης του αριθμού.
Το κόμμα στη συμβολοσειρά μορφοποίησης παρέχει τον διαχωριστή χιλιάδων. Σημειώστε ότι χρειάζεται μόνο να το βάλετε στη συμβολοσειρά μία φορά. Εάν ο αριθμός κυμαίνεται σε εκατομμύρια ή δισεκατομμύρια, θα εξακολουθεί να χωρίζει τα ψηφία σε ομάδες των 3
Το μηδέν στη συμβολοσειρά μορφής (0) είναι ένα ψηφιακό σύμβολο κράτησης θέσης. Εμφανίζει ένα ψηφίο εάν είναι εκεί, ή ένα μηδέν. Η τοποθέτησή του είναι πολύ σημαντική για να διασφαλιστεί η ομοιομορφία με τη μορφοποίηση
Στη συμβολοσειρά μορφοποίησης, οι χαρακτήρες κατακερματισμού (#) δεν εμφανίζουν τίποτα εάν δεν υπάρχει ψηφίο. Ωστόσο, εάν υπάρχει ένας αριθμός όπως 0,8 (όλοι δεκαδικοί), θέλουμε να εμφανίζεται ως 0,80 έτσι ώστε να ευθυγραμμίζεται με τους άλλους αριθμούς.
Χρησιμοποιώντας ένα μόνο μηδέν στα αριστερά της υποδιαστολής και δύο μηδενικά στα δεξιά της υποδιαστολής στη συμβολοσειρά μορφοποίησης, αυτό θα δώσει το απαιτούμενο αποτέλεσμα (0,80).
Εάν υπήρχε μόνο ένα μηδέν στα δεξιά της υποδιαστολής, τότε το αποτέλεσμα θα ήταν «0,8» και όλα θα εμφανίζονταν σε ένα δεκαδικό ψηφίο.
Χρήση συμβολοσειράς μορφοποίησης για ευθυγράμμιση
Μπορεί να θέλουμε να βλέπουμε όλους τους δεκαδικούς αριθμούς σε ένα εύρος ευθυγραμμισμένο με τα δεκαδικά τους ψηφία, έτσι ώστε όλα τα δεκαδικά ψηφία να βρίσκονται ακριβώς το ένα κάτω από το άλλο, όσες θέσεις δεκαδικών υπάρχουν σε κάθε αριθμό.
Μπορείτε να χρησιμοποιήσετε ένα ερωτηματικό (;) μέσα στη συμβολοσειρά μορφής για να το κάνετε αυτό. Το ‘?’ Υποδεικνύει ότι ένας αριθμός εμφανίζεται εάν είναι διαθέσιμος ή ένα κενό διάστημα
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "#, ## 0,00 ??" |
Αυτό θα εμφανίσει τους αριθμούς σας ως εξής:
Όλα τα δεκαδικά ψηφία ευθυγραμμίζονται τώρα το ένα κάτω από το άλλο. Το κελί A5 έχει τρία δεκαδικά ψηφία και αυτό θα έριχνε την ευθυγράμμιση κανονικά, αλλά η χρήση του χαρακτήρα ‘?’ Ευθυγραμμίζει τα πάντα τέλεια.
Χρήση κυριολεκτικών χαρακτήρων εντός της συμβολοσειράς μορφοποίησης
Μπορείτε να προσθέσετε οποιονδήποτε κυριολεκτικό χαρακτήρα στη συμβολοσειρά μορφής σας, προηγουμένως με ανάστροφο (\).
Ας υποθέσουμε ότι θέλετε να εμφανίσετε έναν συγκεκριμένο δείκτη νομίσματος για τους αριθμούς σας που δεν βασίζεται στις τοπικές ρυθμίσεις. Το πρόβλημα είναι ότι εάν χρησιμοποιείτε έναν δείκτη νομίσματος, το Excel αναφέρεται αυτόματα στο τοπικό σας και το αλλάζει σε αυτό που είναι κατάλληλο για την τοπική ρύθμιση που έχει οριστεί στον Πίνακα Ελέγχου των Windows. Αυτό θα μπορούσε να έχει επιπτώσεις εάν η εφαρμογή Excel διανέμεται σε άλλες χώρες και θέλετε να διασφαλίσετε ότι όποια και αν είναι η τοπική ρύθμιση, ο δείκτης νομίσματος είναι πάντα ο ίδιος.
Μπορεί επίσης να θέλετε να υποδείξετε ότι οι αριθμοί είναι σε εκατομμύρια στο ακόλουθο παράδειγμα:
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "\ $#, ## 0,00 \ m" |
Αυτό θα παράγει τα ακόλουθα αποτελέσματα στο φύλλο εργασίας σας:
Όταν χρησιμοποιείτε ανάστροφο για να εμφανίσετε κυριολεκτικούς χαρακτήρες, δεν χρειάζεται να χρησιμοποιήσετε ανάστροφο για κάθε μεμονωμένο χαρακτήρα μέσα σε μια συμβολοσειρά. Μπορείς να χρησιμοποιήσεις:
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "\ $#, ## 0,00 \ mill" |
Αυτό θα εμφανίσει την ένδειξη «mill» μετά από κάθε αριθμό εντός του μορφοποιημένου εύρους.
Μπορείτε να χρησιμοποιήσετε τους περισσότερους χαρακτήρες ως κυριολεκτικούς, αλλά όχι δεσμευμένους χαρακτήρες όπως 0, #,?
Χρήση κόμματος σε συμβολοσειρά μορφοποίησης
Έχουμε ήδη δει ότι τα κόμματα μπορούν να χρησιμοποιηθούν για τη δημιουργία χιλιάδων διαχωριστών για μεγάλους αριθμούς, αλλά μπορούν επίσης να χρησιμοποιηθούν με άλλο τρόπο.
Χρησιμοποιώντας τα στο τέλος του αριθμητικού μέρους της συμβολοσειράς μορφοποίησης, λειτουργούν ως κλιμακωτές χιλιάδων. Με άλλα λόγια, θα διαιρούν κάθε αριθμό με 1.000 κάθε φορά που υπάρχει κόμμα.
Στα παραδείγματα δεδομένων, τα δείχνουμε με έναν δείκτη ότι είναι σε εκατομμύρια. Με την εισαγωγή ενός κόμματος στη συμβολοσειρά μορφής, μπορούμε να δείξουμε αυτούς τους αριθμούς διαιρούμενους με 1.000.
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "\ $#, ## 0,00, \ m" |
Αυτό θα δείξει τους αριθμούς διαιρούμενους με 1.000 αν και ο αρχικός αριθμός θα είναι ακόμα στο παρασκήνιο στο κελί.
Εάν βάλετε δύο κόμματα στη συμβολοσειρά μορφής, τότε οι αριθμοί θα διαιρεθούν με ένα εκατομμύριο
1 | Φύλλα ("Sheet1"). Εύρος ("A1: A6"). NumberFormat = "\ $#, ## 0,00 ,, \ m" |
Αυτό θα είναι το αποτέλεσμα χρησιμοποιώντας μόνο ένα κόμμα (διαίρεση με 1.000):
Δημιουργία μορφοποίησης υπό όρους εντός της συμβολοσειράς μορφοποίησης
Θα μπορούσατε να ρυθμίσετε μορφοποίηση υπό όρους στο μπροστινό μέρος του Excel, αλλά μπορείτε επίσης να το κάνετε μέσα στον κώδικα VBA, πράγμα που σημαίνει ότι μπορείτε να χειριστείτε τη συμβολοσειρά μορφοποίησης μέσω προγραμματισμού για να κάνετε αλλαγές.
Μπορείτε να χρησιμοποιήσετε έως τέσσερις ενότητες μέσα στη συμβολοσειρά μορφοποίησης. Κάθε ενότητα οριοθετείται με ερωτηματικό (;). Οι τέσσερις ενότητες αντιστοιχούν σε θετικό, αρνητικό, μηδενικό και κείμενο
1 | Εύρος ("A1: A7"). NumberFormat = "#, ## 0.00; [Red]-#, ## 0.00; [Green]#, ## 0.00; [Blue]" |
Σε αυτό το παράδειγμα, χρησιμοποιούμε τον ίδιο κατακερματισμό, κόμμα και μηδέν χαρακτήρες για να δώσουμε χιλιάδες διαχωριστικά και δύο δεκαδικά ψηφία, αλλά τώρα έχουμε διαφορετικές ενότητες για κάθε τύπο τιμής.
Η πρώτη ενότητα αφορά θετικούς αριθμούς και δεν διαφέρει από ό, τι έχουμε ήδη δει ως προς τη μορφή.
Το δεύτερο τμήμα για τους αρνητικούς αριθμούς εισάγει ένα χρώμα (Κόκκινο) το οποίο διατηρείται μέσα σε ένα ζευγάρι τετράγωνες αγκύλες. Η μορφή είναι η ίδια με τους θετικούς αριθμούς, εκτός από το ότι έχει προστεθεί ένα σύμβολο μείον (-) μπροστά.
Το τρίτο τμήμα για μηδενικούς αριθμούς χρησιμοποιεί ένα χρώμα (Πράσινο) μέσα σε αγκύλες με την αριθμητική συμβολοσειρά το ίδιο όπως και για τους θετικούς αριθμούς.
Το τελευταίο τμήμα είναι για τιμές κειμένου και το μόνο που χρειάζεται είναι ένα χρώμα (Μπλε) και πάλι μέσα σε αγκύλες
Αυτό είναι το αποτέλεσμα της εφαρμογής αυτής της συμβολοσειράς μορφοποίησης:
Μπορείτε να προχωρήσετε περαιτέρω με συνθήκες εντός της συμβολοσειράς μορφοποίησης. Ας υποθέσουμε ότι θέλετε να εμφανίσετε κάθε θετικό αριθμό άνω των 10.000 ως πράσινο και κάθε άλλο αριθμό ως κόκκινο μπορείτε να χρησιμοποιήσετε αυτήν τη συμβολοσειρά μορφοποίησης:
1 | Εύρος ("A1: A7"). NumberFormat = "[> = 10000] [Πράσινο]#, ## 0,00; [<10000] [Κόκκινο]#, ## 0,00" |
Αυτή η συμβολοσειρά μορφής περιλαμβάνει προϋποθέσεις για> = 10000 που ορίζονται σε αγκύλες έτσι ώστε το πράσινο να χρησιμοποιείται μόνο όταν ο αριθμός είναι μεγαλύτερος ή ίσος με 10000
Αυτό είναι το αποτέλεσμα:
Χρήση κλασμάτων στη μορφοποίηση συμβολοσειρών
Τα κλάσματα δεν χρησιμοποιούνται συχνά σε υπολογιστικά φύλλα, αφού συνήθως ισοδυναμούν με δεκαδικά ψηφία τα οποία όλοι γνωρίζουν.
Ωστόσο, μερικές φορές εξυπηρετούν έναν σκοπό. Αυτό το παράδειγμα θα εμφανίσει δολάρια και σεντ:
1 | Εύρος ("A1: A7"). NumberFormat = "#, ## 0" "δολάρια και" "00/100" "σεντ" "" |
Αυτό είναι το αποτέλεσμα που θα παραχθεί:
Θυμηθείτε ότι παρά τους αριθμούς που εμφανίζονται ως κείμενο, εξακολουθούν να υπάρχουν στο παρασκήνιο ως αριθμοί και όλοι οι τύποι του Excel μπορούν ακόμα να χρησιμοποιηθούν σε αυτούς.
Μορφές ημερομηνίας και ώρας
Οι ημερομηνίες είναι στην πραγματικότητα αριθμοί και μπορείτε να χρησιμοποιήσετε μορφές σε αυτούς με τον ίδιο τρόπο όπως και για τους αριθμούς. Εάν μορφοποιήσετε μια ημερομηνία ως αριθμητικό αριθμό, θα δείτε έναν μεγάλο αριθμό στα αριστερά της υποδιαστολής και έναν αριθμό δεκαδικών ψηφίων. Ο αριθμός στα αριστερά της υποδιαστολής δείχνει τον αριθμό των ημερών που ξεκινούν από 01 Ιανουαρίου-1900 και τα δεκαδικά ψηφία δείχνουν τον χρόνο με βάση τις 24 ώρες
1 | Μορφή MsgBox (Τώρα (), "ημ-μμ-εεεε") |
Αυτό θα μορφοποιήσει την τρέχουσα ημερομηνία για να δείξει '08-Ιούλιος-2020 '. Η χρήση του "mmm" για το μήνα εμφανίζει τους τρεις πρώτους χαρακτήρες του ονόματος του μήνα. Εάν θέλετε το όνομα ολόκληρου του μήνα, χρησιμοποιήστε το 'mmmm'
Μπορείτε να συμπεριλάβετε ώρες στη συμβολοσειρά μορφής:
1 | Μορφή MsgBox (Τώρα (), "ημ-μμ-εεεε ω: μμ ΠΜ/ΜΜ") |
Αυτό θα εμφανίσει το '08 -Ιούλ-2020 01:25 ΜΜ '
Το «ω: mm» αντιπροσωπεύει ώρες και λεπτά και η ΠΜ/ΜΜ χρησιμοποιεί ένα ρολόι 12 ωρών σε αντίθεση με ένα ρολόι 24 ωρών.
Μπορείτε να ενσωματώσετε χαρακτήρες κειμένου στη συμβολοσειρά μορφής σας:
1 | Μορφή MsgBox (Τώρα (), "ημ-μμμ-εεεε ω: mm ΠΜ/ΜΜ" "σήμερα" "") |
Αυτό θα εμφανίσει το '08 -Ιούλ-2020 01:25 ΜΜ σήμερα '
Μπορείτε επίσης να χρησιμοποιήσετε κυριολεκτικούς χαρακτήρες χρησιμοποιώντας μια ανάστροφη πλάκα μπροστά με τον ίδιο τρόπο όπως για τις συμβολοσειρές αριθμητικής μορφής.
Προκαθορισμένες μορφές
Το Excel διαθέτει μια σειρά από ενσωματωμένες μορφές τόσο για αριθμούς όσο και για ημερομηνίες που μπορείτε να χρησιμοποιήσετε στον κώδικά σας. Αυτά αντικατοπτρίζουν κυρίως αυτό που είναι διαθέσιμο στο μπροστινό μέρος μορφοποίησης αριθμών, αν και ορισμένα από αυτά υπερβαίνουν αυτό που είναι συνήθως διαθέσιμο στο αναδυόμενο παράθυρο. Επίσης, δεν έχετε την ευελιξία ως προς τον αριθμό δεκαδικών ψηφίων ή αν χρησιμοποιούνται χιλιάδες διαχωριστικά.
Γενικός Αριθμός
Αυτή η μορφή θα εμφανίσει τον αριθμό ακριβώς όπως είναι
1 | Μορφή MsgBox (1234567.89, "Γενικός αριθμός") |
Το αποτέλεσμα θα είναι 1234567.89
Νόμισμα
1 | Μορφή MsgBox (1234567.894, "Νόμισμα") |
Αυτή η μορφή θα προσθέσει ένα σύμβολο νομίσματος μπροστά από τον αριθμό π.χ. $, £ ανάλογα με την τοπική σας γλώσσα, αλλά θα διαμορφώσει επίσης τον αριθμό σε 2 δεκαδικά ψηφία και θα διαχωρίσει τις χιλιάδες με κόμματα.
Το αποτέλεσμα θα είναι $ 1.234.567,89
Σταθερός
1 | Μορφή MsgBox (1234567.894, "Σταθερή") |
Αυτή η μορφή εμφανίζει τουλάχιστον ένα ψηφίο προς τα αριστερά αλλά μόνο δύο ψηφία στα δεξιά της υποδιαστολής.
Το αποτέλεσμα θα είναι 1234567.89
Πρότυπο
1 | Μορφή MsgBox (1234567.894, "Standard") |
Αυτό εμφανίζει τον αριθμό με τους χιλιάδες διαχωριστές, αλλά μόνο σε δύο δεκαδικά ψηφία.
Το αποτέλεσμα θα είναι 1.234.567,89
Τοις εκατό
1 | Μορφή MsgBox (1234567.894, "Ποσοστό") |
Ο αριθμός πολλαπλασιάζεται με 100 και προστίθεται ένα ποσοστό σύμβολο (%) στο τέλος του αριθμού. Η μορφή εμφανίζεται σε 2 δεκαδικά ψηφία
Το αποτέλεσμα θα είναι 123456789,40%
Επιστημονικός
1 | Μορφή MsgBox (1234567.894, "Επιστημονική") |
Αυτό μετατρέπει τον αριθμό σε Εκθετική μορφή
Το αποτέλεσμα θα είναι 1,23E+06
Ναι όχι
1 | Μορφή MsgBox (1234567.894, "Ναι/Όχι") |
Εμφανίζει "Όχι" εάν ο αριθμός είναι μηδενικός, διαφορετικά εμφανίζει "Ναι"
Το αποτέλεσμα θα είναι «Ναι»
Σωστό Λάθος
1 | Μορφή MsgBox (1234567.894, "True/False") |
Εμφανίζει το "False" εάν ο αριθμός είναι μηδέν, διαφορετικά εμφανίζει το "True"
Το αποτέλεσμα θα είναι «Αληθινό»
Ενεργοποίηση/Απενεργοποίηση
1 | Μορφή MsgBox (1234567.894, "On/Off") |
Εμφανίζει "Off" εάν ο αριθμός είναι μηδενικός, διαφορετικά εμφανίζει "On"
Το αποτέλεσμα θα είναι "On"
Γενική Ημερομηνία
1 | Μορφή MsgBox (Τώρα (), "Γενική Ημερομηνία") |
Αυτό θα εμφανίσει την ημερομηνία ως ημερομηνία και ώρα χρησιμοποιώντας σημειώσεις AM/PM. Ο τρόπος εμφάνισης της ημερομηνίας εξαρτάται από τις ρυθμίσεις σας στον Πίνακα ελέγχου των Windows (Ρολόι και περιοχή | Περιοχή). Μπορεί να εμφανίζεται ως "mm/dd/yyyy" ή "dd/mm/yyyy"
Το αποτέλεσμα θα είναι «7/7/2020 3:48:25 ΜΜ»
Long Date
1 | MsgBox Format (Τώρα (), "Long Date") |
Αυτό θα εμφανίσει μια μακρά ημερομηνία όπως ορίζεται στον Πίνακα ελέγχου των Windows (Ρολόι και περιοχή | Περιοχή). Σημειώστε ότι δεν περιλαμβάνει το χρόνο.
Το αποτέλεσμα θα είναι «Τρίτη 7 Ιουλίου 2022»
Μεσαία Ημερομηνία
1 | Μορφή MsgBox (Τώρα (), "Μεσαία ημερομηνία") |
Αυτό εμφανίζει μια ημερομηνία όπως ορίζεται στις ρυθμίσεις σύντομης ημερομηνίας όπως ορίζεται από τις τοπικές ρυθμίσεις στον Πίνακα Ελέγχου των Windows.
Το αποτέλεσμα θα είναι '07 -20 Ιουλίου '
Σύντομη Ημερομηνία
1 | Μορφή MsgBox (Τώρα (), "Σύντομη Ημερομηνία") |
Εμφανίζει μια σύντομη ημερομηνία όπως ορίζεται στον Πίνακα ελέγχου των Windows (Ρολόι και περιοχή | Περιοχή). Ο τρόπος εμφάνισης της ημερομηνίας εξαρτάται από τις τοπικές ρυθμίσεις. Μπορεί να εμφανίζεται ως "mm/dd/yyyy" ή "dd/mm/yyyy"
Το αποτέλεσμα θα είναι «7/7/2020»
Πολύς καιρός
1 | MsgBox Format (Τώρα (), "Long Time") |
Εμφανίζεται για μεγάλο χρονικό διάστημα όπως ορίζεται στον Πίνακα ελέγχου των Windows (Ρολόι και περιοχή | Περιοχή).
Το αποτέλεσμα θα είναι «4:11:39 ΜΜ»
Μεσαίο Χρόνο
1 | Μορφή MsgBox (Τώρα (), "Μέσος χρόνος") |
Εμφανίζει έναν μεσαίο χρόνο όπως ορίζεται από τις τοπικές ρυθμίσεις στον Πίνακα Ελέγχου των Windows. Αυτό συνήθως ορίζεται ως μορφή 12 ωρών χρησιμοποιώντας ώρες, λεπτά και δευτερόλεπτα και τη μορφή AM/PM.
Το αποτέλεσμα θα είναι '04: 15 μ.μ. '
Σύντομο χρονικό διάστημα
1 | MsgBox Format (Τώρα (), "Short Time") |
Εμφανίζει έναν μεσαίο χρόνο όπως ορίζεται στον Πίνακα ελέγχου των Windows (Ρολόι και περιοχή | Περιοχή). Αυτό συνήθως ορίζεται ως 24ωρη μορφή με ώρες και λεπτά
Το αποτέλεσμα θα είναι '16: 18 '
Κίνδυνοι από τη χρήση προκαθορισμένων μορφών του Excel σε ημερομηνίες και ώρες
Η χρήση των προκαθορισμένων μορφών για ημερομηνίες και ώρες στο Excel VBA εξαρτάται πολύ από τις ρυθμίσεις στον Πίνακα Ελέγχου των Windows και επίσης από το τι έχει οριστεί η τοπική ρύθμιση
Οι χρήστες μπορούν εύκολα να αλλάξουν αυτές τις ρυθμίσεις και αυτό θα επηρεάσει τον τρόπο εμφάνισης των ημερομηνιών και των ωρών σας στο Excel
Για παράδειγμα, εάν αναπτύξετε μια εφαρμογή Excel που χρησιμοποιεί προκαθορισμένες μορφές στον κώδικα VBA, αυτές μπορεί να αλλάξουν εντελώς εάν ένας χρήστης βρίσκεται σε διαφορετική χώρα ή χρησιμοποιεί διαφορετική τοπική ρύθμιση για εσάς. Ενδέχεται να διαπιστώσετε ότι τα πλάτη των στηλών δεν ταιριάζουν με τον ορισμό της ημερομηνίας, ή σε μια φόρμα χρήστη το στοιχείο ελέγχου Active X, όπως ένα συνδυαστικό πλαίσιο ελέγχου (αναπτυσσόμενο) είναι πολύ στενό για να εμφανίζονται σωστά οι ημερομηνίες και οι ώρες.
Πρέπει να λάβετε υπόψη πού βρίσκεται γεωγραφικά το κοινό όταν αναπτύσσετε την εφαρμογή Excel
Μορφές καθορισμένες από το χρήστη για αριθμούς
Υπάρχουν πολλές διαφορετικές παράμετροι που μπορείτε να χρησιμοποιήσετε κατά τον καθορισμό της συμβολοσειράς μορφοποίησης:
Χαρακτήρας | Περιγραφή |
Null String | Χωρίς μορφοποίηση |
0 | Digit placeholder. Εμφανίζει ένα ψηφίο ή ένα μηδέν. Εάν υπάρχει ένα ψηφίο για τη θέση αυτή, τότε εμφανίζει το ψηφίο αλλιώς εμφανίζει 0. Εάν υπάρχουν λιγότερα ψηφία από τα μηδενικά, τότε θα λάβετε μηδενικά που οδηγούν ή ακολουθούν. Εάν υπάρχουν περισσότερα ψηφία μετά το δεκαδικό από τα μηδενικά, τότε ο αριθμός στρογγυλοποιείται στον αριθμό των δεκαδικών ψηφίων που εμφανίζονται με τα μηδενικά. Εάν υπάρχουν περισσότερα ψηφία πριν από το δεκαδικό από τα μηδενικά, αυτά θα εμφανίζονται κανονικά. |
# | Digit placeholder. Αυτό εμφανίζει ένα ψηφίο ή τίποτα. Λειτουργεί το ίδιο με το μηδενικό σύμβολο κράτησης παραπάνω, εκτός από το ότι δεν εμφανίζονται τα μηδενικά κύρια και πίσω. Για παράδειγμα, το 0,75 θα εμφανίζεται χρησιμοποιώντας μηδενικά σύμβολα κράτησης θέσης, αλλά αυτό θα είναι 0,75 χρησιμοποιώντας # σύμβολα κράτησης θέσης. |
Το Δεκαδικό σημείο. | Επιτρέπεται μόνο μία ανά συμβολοσειρά μορφοποίησης. Αυτός ο χαρακτήρας εξαρτάται από τις ρυθμίσεις στον Πίνακα Ελέγχου των Windows. |
% | Ποσοστό κράτησης θέσης. Πολλαπλασιάζει τον αριθμό με 100 και τοποθετεί % χαρακτήρα όπου εμφανίζεται στη συμβολοσειρά μορφοποίησης |
, (κόμμα) | Χίλια διαχωριστικά. Αυτό χρησιμοποιείται εάν χρησιμοποιούνται 0 ή # σύμβολα κράτησης θέσης και η συμβολοσειρά μορφής περιέχει κόμμα. Ένα κόμμα στα αριστερά της υποδιαστολής υποδεικνύει στρογγυλό στο πλησιέστερο χίλιο. Π.χ. ## 0, Δύο γειτονικά κόμματα στα αριστερά του διαχωριστή χιλίων υποδεικνύουν στρογγυλοποίηση στο πλησιέστερο εκατομμύριο. Π.χ. ## 0 ,, |
Ε- Ε+ | Επιστημονική μορφή. Αυτό εμφανίζει τον αριθμό εκθετικά. |
: (άνω και κάτω τελεία) | Διαχωριστής χρόνου - χρησιμοποιείται κατά τη μορφοποίηση ενός χρόνου σε διαχωρισμένες ώρες, λεπτά και δευτερόλεπτα. |
/ | Διαχωριστής ημερομηνίας - χρησιμοποιείται όταν καθορίζετε μια μορφή για μια ημερομηνία |
- + £ $ ( ) | Εμφανίζει έναν κυριολεκτικό χαρακτήρα.Για να εμφανίσετε έναν χαρακτήρα διαφορετικό από αυτόν που αναφέρεται εδώ, προηγηθείτε με ανάστροφο (\) |
Μορφές καθορισμένες από το χρήστη για ημερομηνίες και ώρες
Αυτοί οι χαρακτήρες μπορούν όλοι να χρησιμοποιηθούν στη συμβολοσειρά μορφοποίησης κατά τη μορφοποίηση ημερομηνιών και ωρών:
Χαρακτήρας | Εννοια |
ντο | Εμφανίζει την ημερομηνία ως ddddd και την ώρα ως ttttt |
ρε | Εμφανίστε την ημέρα ως αριθμό χωρίς το μηδέν |
δ.δ | Εμφανίστε την ημέρα ως αριθμό με το μηδέν |
ddd | Εμφάνιση της ημέρας ως συντομογραφία (Κυρ - Σάββατο) |
dddd | Εμφάνιση του πλήρους ονόματος της ημέρας (Κυριακή - Σάββατο) |
δδδδδ | Εμφανίστε έναν σειριακό αριθμό ημερομηνίας ως πλήρη ημερομηνία σύμφωνα με το Short Date στις Διεθνείς ρυθμίσεις του Πίνακα Ελέγχου των παραθύρων |
δδδδδδ | Εμφανίζει έναν σειριακό αριθμό ημερομηνίας ως πλήρη ημερομηνία σύμφωνα με το Long Date στις Διεθνείς ρυθμίσεις του Πίνακα Ελέγχου των Windows. |
w | Εμφανίζει την ημέρα της εβδομάδας ως αριθμό (1 = Κυριακή) |
ww | Εμφανίζει την εβδομάδα του έτους ως αριθμό (1-53) |
Μ | Εμφανίζει τον μήνα ως αριθμό χωρίς μηδέν |
mm | Εμφανίζει τον μήνα ως αριθμό με κορυφαία μηδενικά |
mmm | Εμφανίζει τον μήνα ως συντομογραφία (Ιανουάριος-Δεκέμβριος) |
mmmm | Εμφανίζει το πλήρες όνομα του μήνα (Ιανουάριος - Δεκέμβριος) |
q | Εμφανίζει το τρίμηνο του έτους ως αριθμό (1-4) |
y | Εμφανίζει την ημέρα του έτους ως αριθμό (1-366) |
εεε | Εμφανίζει το έτος ως διψήφιο αριθμό |
εεεε | Εμφανίζει το έτος ως τετραψήφιο αριθμό |
η | Εμφανίζει την ώρα ως αριθμό χωρίς το μηδέν |
ωχ | Εμφανίζει την ώρα ως αριθμό με αρχικό μηδέν |
ν | Εμφανίζει το λεπτό ως αριθμό χωρίς το μηδέν |
nn | Εμφανίζει το λεπτό ως αριθμό με μηδενικό προβάδισμα |
μικρό | Εμφανίζει το δεύτερο ως αριθμό χωρίς το μηδέν |
σσ | Εμφανίζει το δεύτερο ως αριθμό με μηδενικό προβάδισμα |
ttttt | Εμφάνιση σειριακού αριθμού ώρας ως πλήρους χρόνου. |
Π.Μ. Μ.Μ | Χρησιμοποιήστε ένα ρολόι 12 ωρών και εμφανίστε AM ή PM για να δείξετε πριν ή μετά το μεσημέρι. |
π.μ. μ.μ | Χρησιμοποιήστε ένα ρολόι 12 ωρών και χρησιμοποιήστε το πρωί ή το απόγευμα για να δείξετε πριν ή μετά το μεσημέρι |
A/P | Χρησιμοποιήστε ένα ρολόι 12 ωρών και χρησιμοποιήστε το Α ή το Ρ για να δείξετε πριν ή μετά το μεσημέρι |
a/p | Χρησιμοποιήστε ένα ρολόι 12 ωρών και χρησιμοποιήστε ένα ή p για να δείξετε πριν ή μετά το μεσημέρι |