Κείμενο VBA | Πώς να χρησιμοποιήσετε τη λειτουργία κειμένου στο VBA Excel; (με παραδείγματα)

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

Λειτουργία κειμένου Excel VBA

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

Ένα από τα προβλήματα με αυτήν τη λειτουργία είναι ορίσματα. Όποτε χρησιμοποιούμε την τάξη λειτουργίας φύλλου εργασίας VBA, δεν βλέπουμε τη σαφή σύνταξη όπως στο φύλλο εργασίας μας. Απλώς λέει "Arg1" και "Arg2".

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

Παραδείγματα της λειτουργίας κειμένου VBA στο Excel

Ακολουθούν τα παραδείγματα της λειτουργίας κειμένου Excel VBA.

Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA κειμένου Excel εδώ - Πρότυπο VBA κειμένου Excel

Παράδειγμα # 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 μπορούμε να εφαρμόσουμε μορφοποίηση αριθμών στα κελιά.