Διπλό VBA | Πώς να δηλώσετε τον διπλό τύπο δεδομένων στο VBA;
Τύπος διπλού δεδομένων Excel VBA
Το VBA Double είναι ένα είδος τύπου δεδομένων που εκχωρούμε για να δηλώσουμε μεταβλητές, η οποία είναι μια βελτιωμένη ή μεγαλύτερη έκδοση της μεταβλητής τύπου "Single" και χρησιμοποιείται συνήθως για την αποθήκευση μεγαλύτερων δεκαδικών ψηφίων.
Ο τύπος δεδομένων VBA Integer μετατρέπει πάντα τις δεκαδικές τιμές στην πλησιέστερη ακέραια τιμή, ο μοναδικός τύπος δεδομένων μπορεί να εμφανίζει έως και δύο ψηφία δεκαδικών ψηφίων. Από την άλλη πλευρά, ο "διπλός" τύπος δεδομένων μπορεί να αποθηκεύσει τιμές από -1.79769313486231E308 έως -4.94065645841247E324 για αρνητικές τιμές και για θετικούς αριθμούς μπορεί να αποθηκεύσει τιμές από 4.94065645841247E-324 έως 1.79769313486232E308 .
Το πιο σημαντικό, καταναλώνει 8 byte μνήμης.
Παραδείγματα χρήσης του τύπου διπλού δεδομένων VBA
Μπορείτε να κατεβάσετε αυτό το Πρότυπο διπλού Excel VBA εδώ - Πρότυπο VBA Double ExcelΠαράδειγμα # 1
Προτού δούμε το παράδειγμα του τύπου "Διπλό", ας δούμε τους κωδικούς παραδείγματος του τύπου "Integer" και "Single" στο VBA. Κοιτάξτε τον παρακάτω κώδικα VBA.
Κώδικας:
Υπο Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub
Έχω δηλώσει τη μεταβλητή "k" ως ακέραιο και για αυτήν τη μεταβλητή, έχω εκχωρήσει την τιμή ως 2.569999947164.
Ας εκτελέσουμε αυτόν τον κώδικα χειροκίνητα ή χρησιμοποιώντας το πλήκτρο συντόμευσης excel F5, για να δούμε την τελική τιμή στο πλαίσιο μηνύματος στο VBA.
Το αποτέλεσμα εμφανίζεται ως 3 αντί του παρεχόμενου αριθμού 2.569999947164. Ο λόγος γιατί το VBA έχει μετατρέψει τον αριθμό σε πλησιέστερη ακέραια τιμή, δηλαδή 3.
Όταν η δεκαδική τιμή είναι μεγαλύτερη από 0,5 τότε θα μετατραπεί σε επόμενη ακέραια τιμή και όταν η δεκαδική τιμή είναι μικρότερη από 0,51 τότε θα μετατραπεί σε κάτω ακέραια τιμή.
Τώρα θα αλλάξω τον τύπο δεδομένων από Integer σε Single.
Κώδικας:
Υπο Integer_Ex () Dim k As Single k = 2.569999947164 MsgBox k End Sub
Εκτελέστε τον κωδικό μέσω του πλήκτρου συντόμευσης F5 και δείτε τι αριθμό λαμβάνουμε αυτή τη φορά.
Αυτή τη φορά έχουμε το αποτέλεσμα ως 2,57, οπότε αυτή τη φορά έχουμε δύο δεκαδικά ψηφία. Η αρχική τιμή που έχουμε αντιστοιχίσει ήταν 2.569999947164, οπότε σε αυτήν την περίπτωση, τρίτον, η τοποθετημένη δεκαδική τιμή είναι 9, οπότε επειδή είναι περισσότερο από 5, έχει μετατρέψει τη δεύτερη δεκαδική τιμή 6 σε 7.
Τώρα αλλάξτε τον τύπο δεδομένων από Μονό σε Διπλό.
Κώδικας:
Υπο Integer_Ex () Dim k As Double k = 2.569999947164 MsgBox k End Sub
Τώρα εκτελέστε τον κώδικα με μη αυτόματο τρόπο και δείτε πόσα ψηφία έχουμε στο αποτέλεσμα του πλαισίου μηνυμάτων.
Αυτή τη φορά πήρε όλες τις δεκαδικές τιμές. Μπορούμε να παρέχουμε έως και 14 ψηφία δεκαδικών ψηφίων κάτω από τον τύπο διπλού δεδομένων.
Εάν παρέχετε οποιαδήποτε τιμή μεγαλύτερη από 14 δεκαδική θέση θα μετατραπεί στην πλησιέστερη τιμή. Για παράδειγμα δείτε την παρακάτω εικόνα.
Έχω πληκτρολογήσει 15 δεκαδικά ψηφία αντί για 14, αν πατήσω το πλήκτρο enter θα είναι μόνο 14 ψηφία.
Αντί για 59 (τελευταία δύο ψηφία), έχουμε 6 δηλ. Αφού το τελευταίο ψηφίο είναι 9 που είναι μεγαλύτερο από 5 ο προηγούμενος αριθμός 5 μετατρέπεται στην επόμενη ακέραια τιμή, δηλαδή 6
Παράδειγμα # 2
Τώρα θα δείξω πώς να δουλεύω με αναφορά κελιού σε ένα φύλλο εργασίας. Ακολουθούν οι αριθμοί που έχω εισαγάγει στο φύλλο εργασίας.
Ας ξεκινήσουμε να καταγράφουμε τις ίδιες τιμές στη συνέχεια χρησιμοποιώντας τον τύπο δεδομένων INTEGER, τον τύπο SINGLE δεδομένων και τον τύπο DOUBLE .
Παρακάτω είναι ο κωδικός για τη διατήρηση τιμών από τη στήλη Α έως το Β χρησιμοποιώντας τον τύπο δεδομένων INTEGER.
Κώδικας:
Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 to 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub
Ας εκτελέσουμε τον κώδικα μέσω του πλήκτρου συντόμευσης F5, για να δούμε τι τιμές λαμβάνουμε στη στήλη Β.
Όταν έχουμε χρησιμοποιήσει το Integer ως τύπο δεδομένων έχουμε όλους τους αριθμούς, δηλαδή χωρίς δεκαδικά.
Τώρα θα αλλάξω απλώς τον τύπο δεδομένων vba μιας μεταβλητής από ακέραιο σε Ενιαίο.
Κώδικας:
Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = 1 to 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub
Αυτός ο κωδικός θα δώσει το παρακάτω αποτέλεσμα.
Αυτή τη φορά έχουμε μόνο δύο δεκαδικά ψηφία.
Τώρα αλλάζει τον τύπο δεδομένων από ένα σε διπλό.
Κώδικας:
Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = 1 to 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub
Αυτό θα επιστρέψει το παρακάτω αποτέλεσμα.
Έχουμε ακριβείς τιμές από τη στήλη A.
Πράγματα που πρέπει να θυμάστε
- Το Double είναι ένας βελτιωμένος τύπος δεδομένων τύπου Single data.
- Μπορεί να χωρέσει έως και 14 δεκαδικά ψηφία.
- Καταναλώνει 8 byte μνήμης συστήματος.