Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε τη συνάρτηση CInt VBA για τη μετατροπή μιας έκφρασης σε ακέραιο τύπο δεδομένων.
Λειτουργία CInt
VBA CInt Μετατροπή έκφρασης σε ακέραιο
Η συνάρτηση VBA CInt μπορεί να χρησιμοποιηθεί για τη μετατροπή εκφράσεων σε ακέραιους τύπους δεδομένων μέσα στον κώδικα VBA. Ο αριθμός που προκύπτει στρογγυλοποιείται για να γίνει ακέραιος.
123456 | Υπο CIntExample_1 ()MsgBox CInt (12.34) 'Το αποτέλεσμα είναι: 12MsgBox CInt (12.345) 'Το αποτέλεσμα είναι: 12MsgBox CInt (-124) 'Το αποτέλεσμα είναι: -124MsgBox CInt (-12.34) 'Το αποτέλεσμα είναι: -12Τέλος υπο |
VBA CInt Στρογγυλοποίηση
Η συνάρτηση VBA CInt θα στρογγυλοποιήσει το δεκαδικό τμήμα ενός τύπου αριθμού ή μιας έκφρασης που μοιάζει με έναν αριθμό. Ωστόσο, δεν στρογγυλεύει σωστά σε όλες τις περιπτώσεις. Όταν το δεκαδικό μέρος είναι 0,5 τότε η συνάρτηση VBA CInt επιστρέφει τον πλησιέστερο άρτιο ακέραιο.
12345678910111213141516 | Υπο CIntExample_2 ()MsgBox CInt (0,34)Το αποτέλεσμα είναι: 0MsgBox CInt (0,99)Το αποτέλεσμα είναι: 1MsgBox CInt (-124,95)Το αποτέλεσμα είναι: -125MsgBox CInt (1.5)Το αποτέλεσμα είναι: 2MsgBox CInt (2.5)Το αποτέλεσμα είναι: 2Τέλος υπο |
Μπορούμε να προσθέσουμε έναν δεκαδικό αριθμό σχετικά μικρό στην αναμενόμενη δεκαδική μας τιμή για να αλλάξουμε τη συμπεριφορά της συνάρτησης VBA Cint στην αναμενόμενη.
1234567891011 | Υπο CIntExample_3 ()MsgBox CInt (2.5)Το αποτέλεσμα είναι: 2MsgBox CInt (2,5 + 0,001)Το αποτέλεσμα είναι: 3MsgBox CInt (14.5)Το αποτέλεσμα είναι: 14MsgBox CInt (14,5 + 0,001)Το αποτέλεσμα είναι: 15Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA CInt Μετατροπή συμβολοσειρών σε ακέραιους αριθμούς
Η συνάρτηση VBA CInt μπορεί να χρησιμοποιηθεί για τη μετατροπή συμβολοσειρών σε ακέραιους αριθμούς, εάν οι χαρακτήρες της συμβολοσειράς έχουν νόημα ως αριθμοί.
123456789101112131415161718 | Υπο CIntExample_4 ()Dim StrEx As StringStrEx = "112"MsgBox CInt (StrEx)Το αποτέλεσμα είναι: 112StrEx = "112,3"MsgBox CInt (StrEx)'Το αποτέλεσμα είναι: 112 -> 112,3 στρογγυλοποιείταιStrEx = "11,2"MsgBox CInt (StrEx)'Το αποτέλεσμα είναι: 112 ->, αγνοείταιStrEx = "112 $"MsgBox CInt (StrEx)'Το αποτέλεσμα είναι: 112 -> $ αγνοείταιΤέλος υπο |
Σφάλμα χρόνου εκτέλεσης VBA CInt 13 Αναντιστοιχία τύπου
Η χρήση της συνάρτησης VBA Cint με συμβολοσειρές που περιέχουν μη αριθμητικούς χαρακτήρες ή χαρακτήρες που δεν έχουν νόημα σε αριθμητικό πλαίσιο θα οδηγήσει σε σφάλμα χρόνου εκτέλεσης «13»: Αναντιστοιχία τύπου.
1234567 | Υπο CIntExample_5 ()«Ο παρακάτω κώδικας θα οδηγήσει σε μήνυμα ERROR'Δεν μπορεί να χειριστεί μη αριθμητικούς χαρακτήρεςDim StrEx As StringStrEx = "Ab13"MsgBox CInt (StrEx)Τέλος υπο |
VBA CInt Run-Time Error 6 Υπερχείλιση
Η χρήση της συνάρτησης VBA Cint με συμβολοσειρές που έχουν ως αποτέλεσμα μια τιμή μικρότερη ή μεγαλύτερη από τον αναμενόμενο ακέραιο, θα οδηγήσει σε σφάλμα χρόνου εκτέλεσης '6': Υπερχείλιση. Ο ακέραιος τύπος δεδομένων στο excel έχει αναμενόμενη τιμή -32768 έως 32767.
1234567 | Υπο CIntExample_6 ()«Ο παρακάτω κώδικας θα οδηγήσει σε μήνυμα ERROR«Δεν μπορώ να χειριστώ μη αριθμητικούς χαρακτήρεςDim StrEx As StringStrEx = "1234567"MsgBox CInt (StrEx)Τέλος υπο |
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!
Περιφερειακές ρυθμίσεις VBA CInt
Η συνάρτηση VBA CInt έχει διαφορετική συμπεριφορά μετατροπής συμβολοσειρών με κόμμα ή τελεία. Χρησιμοποιεί τις Περιφερειακές ρυθμίσεις του λειτουργικού συστήματος για δεκαδικό διαχωριστή και διαχωριστή ψηφίων.
12345678910111213141516 | Υπο CIntExample_7 ()Dim StrEx As StringStrEx = "1,9"MsgBox CInt (StrEx)‘Αν έχουν οι τοπικές ρυθμίσεις, τότε ως διαχωριστής ομάδαςΤο αποτέλεσμα είναι: 19«Αν οι τοπικές ρυθμίσεις έχουν, ως δεκαδικός διαχωριστής, τότε'Αποτέλεσμα είναι: 2 (2 γιατί στρογγυλεύεται το 1,9)StrEx = "1,9"MsgBox CInt (StrEx)«Εάν έχουν ρυθμίσεις Περιφέρειας. ως διαχωριστικό ομάδας τότεΤο αποτέλεσμα είναι: 19«Εάν έχουν ρυθμίσεις Περιφέρειας. ως δεκαδικός διαχωριστής τότε'Αποτέλεσμα είναι: 2 (2 γιατί στρογγυλεύεται το 1,9)Τέλος υπο |
Προγραμματισμός VBA | Το Code Generator λειτουργεί για εσάς!
VBA CInt Μετατροπή Booleans σε ακέραιους αριθμούς
Η συνάρτηση VBA Cint μπορεί να μετατρέψει μεταβλητές boole σε ακέραιους αριθμούς. Εάν η εκτιμώμενη έκφραση είναι αληθής, ο ακέραιος που προκύπτει είναι -1 και αν η εκτίμηση έκφρασης είναι ψευδής, ο ακέραιος που προκύπτει είναι 0.
12345678910 | Υπο CIntExample_8 ()Dim BoolEx As BooleanBoolEx = ΑλήθειαMsgBox CInt (BoolEx) 'Το αποτέλεσμα είναι: -1MsgBox CInt (2 = 2) 'Το αποτέλεσμα είναι: -1BoolEx = ΛάθοςMsgBox CInt (BoolEx) 'Το αποτέλεσμα είναι: 0MsgBox CInt (1 = 2) 'Το αποτέλεσμα είναι: 0Τέλος υπο |
VBA CInt Μετατροπή ημερομηνιών σε ακέραιους αριθμούς
Η συνάρτηση VBA Cint μπορεί να μετατρέψει μια μεταβλητή ημερομηνίας σε ακέραιο. Η επιστρεφόμενη τιμή είναι ο εσωτερικός αριθμός που χρησιμοποιείται από το excel για αποθήκευση ημερομηνίας στρογγυλοποιημένο. Εάν αυτός ο αριθμός είναι έξω από τα αναμενόμενα ακέραια όρια για VBA, τότε λαμβάνουμε σφάλμα χρόνου εκτέλεσης '6': Υπερχείλιση.
123456789 | Υπο CIntExample_9 ()Dim DateEx ως ημερομηνίαDateEx = #2/3/1940 #MsgBox CInt (DateEx)Το αποτέλεσμα είναι: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)Το αποτέλεσμα είναι: 23596Τέλος υπο |