Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη λειτουργία κειμένου σε VBA.
Η συνάρτηση Κείμενο χρησιμοποιείται σε ένα φύλλο εργασίας του Excel για να επιστρέψει ένα τμήμα μιας συμβολοσειράς σε μια καθορισμένη μορφή. Η συνάρτηση κειμένου δεν είναι συνάρτηση VBA, αλλά μπορεί να χρησιμοποιηθεί σε VBA με αναφορά στο αντικείμενο της συνάρτησης φύλλου εργασίας.
Φύλλο εργασίας Λειτουργία. Κείμενο
Η σύνταξη στο VBA θα είναι επομένως η ακόλουθη:
= WorksheetFunction.Text (Arg1, Arg2)
όπου Arg1 είναι η αρχική συμβολοσειρά και Arg2 είναι η μορφή της συμβολοσειράς που θέλουμε να επιστρέψει.
1234567 | Sub TestWSFunction ()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDΤέλος υπο |
Στο παραπάνω παράδειγμα, η μεταβλητή συμβολοσειράς dte αποθηκεύει μια ημερομηνία. Στη συνέχεια, η συνάρτηση Κείμενο επιστρέφει το τμήμα μήνα της ημερομηνίας.
Μορφοποίηση αριθμών με τη συνάρτηση κειμένου
Μπορούμε να χρησιμοποιήσουμε τη λειτουργία κειμένου για να μορφοποιήσουμε αριθμούς στον κώδικα VBA.
1234567 | Sub FormatCurrency ()Dim strNum As StringDim strFormat As StringstrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$#, ## 0,00")MsgBox strFormatΤέλος υπο |
Η συμβολοσειρά που επιστρέφεται στο παραπάνω παράδειγμα θα είναι $ 75.896,13.
Άλλα παραδείγματα μορφοποίησης αριθμών χρησιμοποιώντας τη συνάρτηση κειμένου είναι:
12345678 | = WorksheetFunction.Text (75896.125, "0")αυτό θα επιστρέψει: "75896"= WorksheetFunction.Text (75896.125, "0.0")αυτό θα επιστρέψει: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")αυτό θα επιστρέψει: "75,896" |
Ωστόσο, το Excel έχει μια ενσωματωμένη συνάρτηση VBA που μπορούμε να χρησιμοποιήσουμε αντί για τη λειτουργία κειμένου εάν επιθυμούμε να μορφοποιήσουμε ημερομηνίες και αριθμούς εντός του VBA. Αυτή είναι γνωστή ως συνάρτηση Format.
Η λειτουργία μορφοποίησης VBA
Λαμβάνοντας το παραπάνω παράδειγμα, αντί να χρησιμοποιήσουμε το WorksheetFunction. Κείμενο, μπορούμε απλώς να χρησιμοποιήσουμε τη συνάρτηση μορφοποίησης για να επιτύχουμε τα ίδια αποτελέσματα.
12345678 | = Μορφή (75896.125, "0")αυτό θα επιστρέψει: "75896"= Μορφή (75896.125, "0.0")αυτό θα επιστρέψει: "75896.1"= Μορφή (75896.125, "#, ## 0")αυτό θα επιστρέψει: "75,896" |
Ομοίως, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση μορφοποίησης για να μορφοποιήσουμε τμήματα ημερομηνίας μιας συμβολοσειράς.
1234567 | Sub TestFormatFunction ()Dim dte As StringDim strD As Stringdte = "08/05/2021"strD = Μορφή (dte, "mmmm")MsgBox strDΤέλος υπο |