Αριθμός μορφής VBA | Πώς να μορφοποιήσετε αριθμούς με VBA NumberFormat;

Η συνάρτηση μορφής στο VBA χρησιμοποιείται για τη μορφοποίηση των δεδομένων τιμών στην επιθυμητή μορφή, αυτή η συνάρτηση έχει βασικά δύο υποχρεωτικά ορίσματα, το ένα είναι η είσοδος που λαμβάνεται με τη μορφή συμβολοσειράς και το δεύτερο όρισμα είναι ο τύπος μορφής που θέλουμε να χρησιμοποιήσουμε για παράδειγμα, αν χρησιμοποιήσουμε τη Μορφή (.99, "Ποσοστό") αυτό θα μας δώσει το αποτέλεσμα ως 99%.

Μορφοποίηση αριθμού στο VBA Excel

Το VBA ξεχωρίζει πολύ μπροστά από τις κανονικές λειτουργίες excel. Το VBA έχει πολλές από τις δικές του ενσωματωμένες λειτουργίες όπως ακριβώς έχουμε περισσότερες από 500 συναρτήσεις στο φύλλο εργασίας. Ένας από αυτούς τους τύπους στο VBA είναι το "Number Number".

Ναι, το ακούσατε σωστά, έχουμε μια λειτουργία που ονομάζεται "FormatNumber" στο VBA. Σε αυτό το άρθρο, θα κάνουμε μια πλήρη περιήγηση αυτής της λειτουργίας αποκλειστικά.

Πώς να μορφοποιήσετε αριθμούς με VBA NumberFormat;

Όπως λέει το ίδιο το όνομα της συνάρτησης, θα διαμορφώσει τον δεδομένο αριθμό σύμφωνα με τις οδηγίες μορφοποίησης που δίδονται από τον χρήστη.

Η μορφοποίηση αριθμών δεν είναι τίποτα άλλο από την προσθήκη δεκαδικών σημείων, περικλείοντας αρνητικούς αριθμούς σε παρένθεση, δείχνοντας κορυφαία μηδενικά για δεκαδικές τιμές, κ.λπ. Χρησιμοποιώντας τη λειτουργία VBA  FormatNumber μπορούμε να εφαρμόσουμε στυλ μορφοποίησης στους αριθμούς με τους οποίους δουλεύουμε. Παρακάτω είναι η σύνταξη της συνάρτησης

  • Έκφραση: Αυτός δεν είναι παρά ο αριθμός που πρέπει να μορφοποιήσουμε.
  • Num Digits After Decimal: Πόσα ψηφία θέλετε για τα δεκαδικά ψηφία για τη δεξιά πλευρά του αριθμού.
  • Συμπερίληψη Leading Digit: Το κορυφαίο ψηφίο δεν είναι τίποτα άλλο από ψηφία πριν από την έναρξη του αριθμού. Αυτό ισχύει για τιμές μικρότερες από 1 αλλά μεγαλύτερες από -1.
    • Εάν θέλετε να δείξετε μηδέν πριν από την δεκαδική τιμή, μπορείτε να περάσετε το όρισμα ως TRUE ή -1 και το αποτέλεσμα θα είναι. "0,55"
    • Εάν δεν θέλετε να εμφανιστεί μηδέν πριν από την δεκαδική τιμή, μπορείτε να περάσετε το όρισμα ως FALSE ή 0 και το αποτέλεσμα θα είναι ".55"
    • Από προεπιλογή, η τιμή θα είναι -2, δηλαδή τοπικές ρυθμίσεις υπολογιστή.
  • Χρήση γονέων για αρνητικούς αριθμούς: Εάν θέλετε να δείξετε τους αρνητικούς αριθμούς στην παρένθεση, μπορείτε να περάσετε το όρισμα ως ΑΛΗΘΕΙΑ ή -1 και το αποτέλεσμα θα είναι. «(255)»
    • Εάν θέλετε να εμφανίσετε τους αρνητικούς αριθμούς χωρίς παρένθεση, μπορείτε να περάσετε το όρισμα ως FALSE ή 0 και το αποτέλεσμα θα είναι. «-255»
  • Ομαδικά ψηφία: Είτε θέλετε να προσθέσετε χίλια διαχωριστικά είτε όχι. Εάν ναι TRUE ή -1 είναι το όρισμα, αν όχι FALSE ή 0 είναι το όρισμα. Από προεπιλογή, η τιμή είναι -2 δηλ. Ισούται με τις περιφερειακές ρυθμίσεις του υπολογιστή.

Παραδείγματα συναρτήσεων αριθμού μορφής Excel VBA

Θα δούμε τα πρακτικά παραδείγματα της λειτουργίας αριθμού μορφής Excel VBA. Θα εκτελέσουμε κάθε επιχείρημα ξεχωριστά.

Για το σκοπό αυτό δημιουργήστε το όνομα της μακροεντολής και δηλώστε μία από τις μεταβλητές ως συμβολοσειρά. Ο λόγος για τον οποίο πρέπει να δηλώσουμε τη μεταβλητή ως συμβολοσειρά, επειδή το αποτέλεσμα που δίνεται από τη συνάρτηση VBA FormatNumber είναι μόνο ως συμβολοσειρά.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο λειτουργίας αριθμού μορφής VBA εδώ - Πρότυπο λειτουργίας αριθμού μορφής VBA

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum ως συμβολοσειρά End Sub 

Παράδειγμα # 1 - Προσθέστε δεκαδικά σημεία μπροστά από τον αριθμό

Βήμα 1 - Ας υποθέσουμε ότι εργαζόμαστε με τον αριθμό 25000 και πρέπει να το μορφοποιήσουμε και να προσθέσουμε δεκαδικά σημεία στα δεξιά του αριθμού. Εκχωρήστε μια τιμή στη μεταβλητή μας.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum ως συμβολοσειρά MyNum = FormatNumber (End Sub 

Βήμα 2 -  Πρώτο επάνω είναι η έκφραση δηλαδή ποιος είναι ο αριθμός που πρέπει να μορφοποιήσουμε, οπότε ο αριθμός μας είναι 25000.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, End Sub 

Βήμα # 3 -  Στη συνέχεια είναι πόσα ψηφία πρέπει να προσθέσουμε δηλαδή 2 ψηφία.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) End Sub 

Βήμα # 4 -  Εμφάνιση της τιμής της μεταβλητής στο πλαίσιο μηνυμάτων VBA.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) MsgBox MyNum End Sub 

Βήμα # 5 -  Το αποτέλεσμα αυτής της μακροεντολής είναι έτσι.

Μπορούμε να δούμε δύο δεκαδικά ψηφία στα δεξιά του αριθμού.

Παράδειγμα # 2 - Αριθμός ομάδας, δηλαδή Χίλια διαχωριστικό

Για τον ίδιο αριθμό, μπορούμε να προσθέσουμε ή να διαγράψουμε χίλια διαχωριστικά. Αν θέλουμε να δείξουμε χίλιους διαχωριστές τότε πρέπει να επιλέξουμε vbTrue για το τελευταίο όρισμα

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2,, vbTrue) MsgBox MyNum End Sub 

Αυτό θα ρίξει το αποτέλεσμα έτσι.

Τώρα αν επιλέξετε vbFalse τότε δεν θα έχουμε χιλιάδες διαχωριστές.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2,, vbFalse) MsgBox MyNum End Sub 

Το αποτέλεσμα αυτού του κώδικα όπως αυτό.

Εάν επιλέξω vbUseDefault παίρνουμε το αποτέλεσμα σύμφωνα με τη ρύθμιση του συστήματος. Παρακάτω είναι το αποτέλεσμα αυτού.

Έτσι, η ρύθμιση του συστήματός μου έχει χίλιους διαχωριστές από προεπιλογή.

Παράδειγμα # 3 - Εγκολλήστε την παρένθεση για αρνητικούς αριθμούς

Εάν έχουμε τον αριθμό που είναι αρνητικός, μπορούμε να δείξουμε τον αρνητικό αριθμό στην παρένθεση. Πρέπει να επιλέξετε vbTrue στην ενότητα "Χρήση γονέων για αρνητικούς αριθμούς".

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2, vbTrue) MsgBox MyNum End Sub 

Τώρα το αποτέλεσμα είναι έτσι.

Εάν επιλέξουμε vbFalse θα λάβουμε έναν αρνητικό αριθμό με το σύμβολο μείον.

Κώδικας:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2, vbFalse) MsgBox MyNum End Sub 

Τώρα το αποτέλεσμα είναι έτσι.