Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη συνάρτηση CLng VBA για τη μετατροπή μιας έκφρασης στον τύπο δεδομένων μεγάλου αριθμού.
Λειτουργία CLng
VBA CLng Μετατροπή έκφρασης σε Long
Η συνάρτηση VBA CLng μπορεί να χρησιμοποιηθεί για τη μετατροπή εκφράσεων σε τύπο μεγάλων δεδομένων εντός του κώδικα VBA.
123456 | Υπο CLngExample_1 ()MsgBox CLng (12.34) 'Το αποτέλεσμα είναι: 12MsgBox CLng (12.345) 'Το αποτέλεσμα είναι: 12MsgBox CLng (-124) 'Το αποτέλεσμα είναι: -124MsgBox CLng (-12.34) 'Το αποτέλεσμα είναι: -12Τέλος υπο |
Στρογγυλοποίηση VBA CLng
Η συνάρτηση VBA CLng θα στρογγυλοποιήσει το δεκαδικό τμήμα ενός τύπου αριθμού ή μιας έκφρασης που μοιάζει με έναν αριθμό. Ωστόσο, δεν στρογγυλεύει σωστά σε όλες τις περιπτώσεις. Όταν το δεκαδικό τμήμα είναι 0,5 τότε η συνάρτηση VBA CLng επιστρέφει τον πλησιέστερο άρτιο ακέραιο.
1234567891011 | Υπο CLngΠαράδειγμα_2 ()MsgBox CLng (0,34) 'Το αποτέλεσμα είναι: 0MsgBox CLng (0,99) 'Το αποτέλεσμα είναι: 1MsgBox CLng (-124,95) 'Το αποτέλεσμα είναι: -125MsgBox CLng (1.5) 'Το αποτέλεσμα είναι: 2MsgBox CLng (2.5) 'Το αποτέλεσμα είναι: 2Τέλος υπο |
Μπορούμε να προσθέσουμε έναν δεκαδικό αριθμό σχετικά μικρό στην αναμενόμενη δεκαδική μας τιμή για να αλλάξουμε τη συμπεριφορά της συνάρτησης VBA CLng στην αναμενόμενη.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)Το αποτέλεσμα είναι: 2MsgBox CLng (2,5 + 0,001)Το αποτέλεσμα είναι: 3MsgBox CLng (14.5)Το αποτέλεσμα είναι: 14MsgBox CLng (14,5 + 0,001)Το αποτέλεσμα είναι: 15Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA CLng Μετατροπή συμβολοσειρών σε μακριές
Η συνάρτηση VBA CLng μπορεί να χρησιμοποιηθεί για τη μετατροπή συμβολοσειρών σε μακριές, εάν οι χαρακτήρες της συμβολοσειράς έχουν νόημα ως αριθμοί.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx As StringStrEx = "112"MsgBox CLng (StrEx)Το αποτέλεσμα είναι: 112StrEx = "112,3"MsgBox CLng (StrEx)Το αποτέλεσμα είναι: 112 112,3 στρογγυλοποιείταιStrEx = "11,2"MsgBox CLng (StrEx)Το αποτέλεσμα είναι: 112, αγνοείταιStrEx = "112 $"MsgBox CLng (StrEx)Το αποτέλεσμα είναι: 112 $ αγνοείταιΤέλος υπο |
Σφάλμα χρόνου εκτέλεσης VBA CLng 13 Αναντιστοιχία τύπου
Η χρήση της συνάρτησης VBA CLng με συμβολοσειρές που περιέχουν μη αριθμητικούς χαρακτήρες ή χαρακτήρες που δεν έχουν νόημα σε αριθμητικό πλαίσιο θα οδηγήσει σε σφάλμα χρόνου εκτέλεσης '13': Αναντιστοιχία τύπου.
1234567 | Sub CLngExample_5 ()«Ο παρακάτω κώδικας θα οδηγήσει σε μήνυμα ERRORΤο CLng δεν μπορεί να χειριστεί μη αριθμητικούς χαρακτήρεςDim StrEx As StringStrEx = "Ab13"MsgBox CLng (StrEx)Τέλος υπο |
Σφάλμα χρόνου εκτέλεσης VBA CLng 6 Υπερχείλιση
Η χρήση της συνάρτησης VBA CLng με συμβολοσειρές που έχουν ως αποτέλεσμα μια τιμή μικρότερη ή μεγαλύτερη από τον αναμενόμενο ακέραιο θα οδηγήσει σε σφάλμα χρόνου εκτέλεσης '6': Υπερχείλιση. Ο ακέραιος τύπος δεδομένων στο excel έχει αναμενόμενη τιμή -2,147,483,648 έως 2,147,483,647.
1234567 | Sub CLngExample_6 ()«Ο παρακάτω κώδικας θα οδηγήσει σε μήνυμα ERROR«Το CLng δεν μπορεί να χειριστεί μη αριθμητικούς χαρακτήρεςDim StrEx As StringStrEx = "2147483648"MsgBox CLng (StrEx)Τέλος υπο |
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!
Περιφερειακές ρυθμίσεις VBA CLng
Η συνάρτηση VBA CLng έχει διαφορετική συμπεριφορά μετατροπής συμβολοσειρών με κόμμα ή τελεία. Χρησιμοποιεί τις Περιφερειακές ρυθμίσεις του λειτουργικού συστήματος για δεκαδικό διαχωριστή και διαχωριστή ψηφίων.
12345678910111213141516 | Υπο CLngExample_7 ()Dim StrEx As StringStrEx = "1,9"MsgBox CLng (StrEx)‘Αν έχουν οι τοπικές ρυθμίσεις, τότε ως διαχωριστής ομάδαςΤο αποτέλεσμα είναι: 19«Αν οι τοπικές ρυθμίσεις έχουν, ως δεκαδικός διαχωριστής, τότε'Αποτέλεσμα είναι: 2 (2 γιατί στρογγυλεύεται το 1,9)StrEx = "1,9"MsgBox CLng (StrEx)«Εάν έχουν ρυθμίσεις Περιφέρειας. ως διαχωριστικό ομάδας τότεΤο αποτέλεσμα είναι: 19«Εάν έχουν ρυθμίσεις Περιφέρειας. ως δεκαδικός διαχωριστής τότε'Αποτέλεσμα είναι: 2 (2 γιατί στρογγυλεύεται το 1,9)Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA CLng Μετατροπή των Booleans σε Longs
Η συνάρτηση VBA CLng μπορεί να μετατρέψει μεταβλητές boole σε longs. Εάν η εκτιμώμενη έκφραση είναι αληθής, το μήκος που προκύπτει είναι -1 και αν η εκτίμηση έκφρασης είναι ψευδής, το μήκος που προκύπτει είναι 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx As BooleanBoolEx = ΑλήθειαMsgBox CLng (BoolEx)Το αποτέλεσμα είναι: -1MsgBox CLng (2 = 2)Το αποτέλεσμα είναι: -1BoolEx = ΛάθοςMsgBox CLng (BoolEx)Το αποτέλεσμα είναι: 0MsgBox CLng (1 = 2)Το αποτέλεσμα είναι: 0Τέλος υπο |
VBA CLng Μετατροπή ημερομηνιών σε μακροχρόνια
Η συνάρτηση VBA CLng μπορεί να μετατρέψει μια μεταβλητή ημερομηνίας σε μεγάλη. Η επιστρεφόμενη τιμή είναι ο εσωτερικός αριθμός που χρησιμοποιείται από το excel για αποθήκευση ημερομηνίας στρογγυλοποιημένο. Εάν αυτός ο αριθμός είναι εκτός των αναμενόμενων μεγάλων ορίων για το VBA, τότε λαμβάνουμε σφάλμα χρόνου εκτέλεσης '6': Υπερχείλιση.
123456789101112 | Υπο CLngExample_9 ()Dim DateEx ως ημερομηνίαDateEx = #2/3/1940 #MsgBox CLng (DateEx)Το αποτέλεσμα είναι: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)Το αποτέλεσμα είναι: 23596DateEx = #3/7/1934 11:32:04 π.μ. #MsgBox CLng (DateEx)Το αποτέλεσμα είναι: 12485Τέλος υπο |