Εργαστηριακές Ασκήσεις 9ου Εξαμήνου

Προχωρημένες Μέθοδοι Τεχνικοοικονομικού Σχεδιασμού

Μεταβλητές VBA

Στη γλώσσα προγραμματισμού Visual Basic programming χρησιμοποιούνται δυο βασικές κατηγορίες μεταβλητών, οι συγκεκριμένου τύπου και οι γενικού τύπου Variants:
Οι ορισμένου τύπου μεταβλητές ορίζονται με βάση την μορφή:

Dim [Variable] As [Type]
για παράδειγμα: Dim MyNumber As Integer

Εκτός από ακέραιους μπορούμε να ορίσουμε πραγματικούς As Single ή πραγματικούς διπλής ακρίβειας As Double. Ενώ τύπους που επιδέχονται αλφαριθμητικά ορίζονται με το γενικό τύπο variant ή As String.

Οι τύπου γενικού τύπου μεταβλητές (Variant) δεν χρειάζεται να οριστούν προηγουμένως. Για να δώσουμε μια τιμή στη μεταβλητή οποιουδήποτε τύπου αρκεί να γράψουμε το σύμβολο της ισότητας, όπως στο παράδειγμα:

MyNumber = 10

Τα ονόματα μεταβλητών πρέπει να είναι γραμμένα με λατινικούς χαρακτήρες και να ακολουθούν μερικούς απλούς κανόνες:

  • - Μια μεταβλητή δεν μπορεί να ξεκινάει από κάποιον αριθμό.
  • - Μια μεταβλητή δεν μπορεί να έχει κενούς χαρακτήρες ή τελείες.
  • - Μια μεταβλητή δεν μπορεί να περιέχει οποιοδήποτε από τα παρακάτω σύμβολα: !, %, �, #, $

Πίνακες & Arrays

Οι τύποι Arrays απεικονίζουν τα διανύσματα, δηλαδή μονοδιάστατους πίνακες. Για να ορίσουμε ένα τύπο Array η σύνταξη είναι ως εξής:

Dim [ArrayName]([from] To [to]) As [type] Dim [Variable] As [Type]

για παράδειγμα: Dim MyArray(1 To 5) As Integer, όπου έχουμε ορίσει ένα array πέντε θέσεων που η πρώτη θέση ξεκινάει από το 1 και η τελευταία είναι η 5.

Για να δώσουμε μια τιμή στην array θα πρέπει να δώσουμε τιμές σε κάθε έναν όρο:

MyArray(1) = 3
MyArray(2) = 6
MyArray(3) = 5
MyArray(4) = 1
MyArray(5) = 17

Έτσι η μεταβλήτη MyArray ορίζει το διάνυσμα (3, 6, 5, 1, 17).

Οι πίνακες ή πολυδιάστατα arrays ορίζονται ως: Dim [ArrayName]([Dimension 1], [Dimension 2], ..., [Dimension n]) As [type]

ή

Dim [ArrayName]([dimension 1 from] To [dimension 1 to], ..., [dimension n from] To [dimension n to]) As [type]

για παράδειγμα: Dim MyArray(5, 4) As Integer ή Dim MyArray(1 Το 6, 1 Το 5) As Integer