Το κείμενο είναι μια συνάρτηση φύλλου εργασίας στο excel, αλλά μπορεί επίσης να χρησιμοποιηθεί σε VBA κατά τη χρήση της ιδιότητας εύρους μαζί της, η συνάρτηση για αυτήν τη συνάρτηση είναι παρόμοια με τη συνάρτηση φύλλου εργασίας και παίρνει τον ίδιο αριθμό ορισμάτων που είναι οι τιμές που πρέπει να είναι μετατράπηκε και μια καθορισμένη μορφή αριθμού.
Λειτουργία κειμένου Excel VBA
TEXT είναι η λειτουργία που είναι διαθέσιμη με το φύλλο εργασίας, αλλά δυστυχώς, δεν είναι μια ενσωματωμένη συνάρτηση στο Excel VBA. Για να αποκτήσουμε πρόσβαση σε αυτήν τη λειτουργία, πρέπει να χρησιμοποιήσουμε το αντικείμενο κλάσης λειτουργίας φύλλου εργασίας στο VBA. Η συνάρτηση κειμένου στο Excel μετατρέπει μια τιμή σε καθορισμένη μορφή αριθμού.
Ένα από τα προβλήματα με αυτήν τη λειτουργία ως ορίσματα. Κάθε φορά που χρησιμοποιούμε την κλάση λειτουργίας φύλλου εργασίας VBA, δεν βλέπουμε τη σαφή σύνταξη όπως στο φύλλο εργασίας μας. Απλώς λέει "Arg1" και "Arg2".

- Το Arg1 είναι η τιμή στην οποία πρέπει να εφαρμόσουμε τη μορφοποίηση.
- Το Arg2 είναι η μορφοποίηση που πρέπει να εφαρμόσουμε και πρέπει να καθορίσουμε τον κώδικα μορφοποίησης.

Παραδείγματα της λειτουργίας κειμένου VBA στο Excel
Ακολουθούν τα παραδείγματα της λειτουργίας κειμένου Excel VBA.
Παράδειγμα # 1
Επιτρέψτε μου να σας δείξω ένα απλό παράδειγμα TEXT στο VBA Excel. Κοιτάξτε τον παρακάτω κώδικα στη Visual Basic.
Κώδικας:
Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0.564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub

Πρώτον, έχω δηλώσει δύο μεταβλητές ως συμβολοσειρά στο VBA.
Dim FormattingValue As String Dim FormatResult As String
Για την πρώτη μεταβλητή, έχω εκχωρήσει τον αριθμό μορφοποίησης, τον οποίο πρέπει να μορφοποιήσουμε.
FormattingValue = 0,564
Τώρα για μια άλλη μεταβλητή, έχω εκχωρήσει τη συνάρτηση TEXT.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Εάν παρατηρήσετε, έχω εφαρμόσει τη μορφοποίηση του χρόνου, δηλαδή, "hh: mm: ss AM / PM."
Τελικά, έχω εφαρμόσει ένα πλαίσιο μηνύματος VBA για να δείξω το αποτέλεσμα.
MsgBox FormattingResult
Όταν εκτελώ τον κώδικα, η συνάρτηση TEXT θα εφαρμόσει τη μορφή ώρας στον αριθμό 0,564 και θα εμφανίσει το αποτέλεσμα όπως παρακάτω.

Λοιπόν, πήραμε το χρόνο ως « 01:32:10 μ.μ. ».
Παράδειγμα # 2
Παρόμοιο με το παράδειγμα μορφής ημερομηνίας, κάναμε κάποιες μικρές αλλαγές σε αυτό το παράδειγμα. Παρακάτω είναι ο κωδικός.
Κώδικας:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub Sub

Από τον προηγούμενο κώδικα, έχω αλλάξει την τιμή μορφοποίησης από 0,565 σε 43585 και άλλαξα το στυλ μορφοποίησης ως "DD-MMM-YYYY".
Αυτό θα εφαρμόσει τη μορφοποίηση στον αριθμό 43585 ως ημερομηνία και το αποτέλεσμα έχει ως εξής.

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

Για όλους αυτούς τους αριθμούς, πρέπει να εφαρμόσουμε τη μορφή ώρας. Αυτός ο κωδικός θα εφαρμόσει τη μορφοποίηση.
Κώδικας:
Sub Text_Example3 () Dim k As Integer For k = 1 to 10 Cells (k, 2). Value = WorksheetFunction.Text (Cells (k, 1). Value, "hh: mm: ss AM / PM") Επόμενο k End Υπο

Αυτός ο κωδικός θα περάσει από 10 κελιά και θα εφαρμόσει τη μορφοποίηση παρακάτω.

Έτσι, χρησιμοποιώντας τη συνάρτηση VBA TEXT, μπορούμε να εφαρμόσουμε μορφοποίηση αριθμών στα κελιά.