Ρουτίνες & Functions
Μια ρουτίνα ή ένα function είναι ένα τμήμα κώδικα που είναι γραμμένο ώστε να επιτελεί μια συγκεκριμένη εργασία. Ειδικότερα, οι ρουτίνες είναι τμήματα κώδικα που μπορούν να κληθούν αυτόνομα από κάποιο control (πχ. το πάτημα ενός button) και να εκτελέσουν το τμήμα κάποιου κώδικα. Π.χ. όταν πατάμε κάποιο button να διαβάζει τις τιμές από κάποια κελιά και να επιστρέφει τιμές σε άλλα. Μια ρουτίνα μπορεί να δεχθεί κάποιες τιμές εισόδου (input arguments) και να επιστρέψει τα αποτελέσματα σε κάποιες άλλες τιμές ()output arguments). Tα function έχουν την ίδια λογική με τις ρουτίνες, δηλαδή εκτελούν ένα τμήμα ενός κώδικα, όμως τα function επιστρέφουν πάντοτε μια τιμή. Ένα function μπορεί να κληθεί από ένα φύλλο excel και να κάνουμε πράξεις πάνω σε αυτό.
Η σύνταξη μιας ρουτίνας είναι η εξής:
Sub [όνομα ρουτίνας]([argument], [argument], ..., [argument])
[Εδώ γράφουμε τον κώδικα που θέλουμε να εκτελεστεί από αυτή τη ρουτίνα]
End Sub
Παράδειγμα:
Sub JustExample(welcomeMessage)
Dim cellName As String
cellName = "A2"
Worksheets(1).Range(cellName).Value = "Hello World!"
Worksheets(1).Range("A3").Value = welcomeMessage
End Sub
Η σύνταξη μιας function είναι η εξής:
Function [όνομα function]([argument], [argument], ..., [argument])
[Εδώ γράφουμε τον κώδικα που θέλουμε να εκτελεστεί από αυτή τη function]
[όνομα function] = [Αποτέλεσμα πράξεων]
End Function
Παράδειγμα:
Function Summary(x1, x2, x3)
Dim sum As Double
sum = x1 + x2 + x3
Summary = sum
End Function
Κλήση ρουτίνας και function
Για να καλέσουμε μια ρουτίνα σε ένα τμήμα του κώδικα αρκεί να εκτελέσουμε την κλήση:
Call [όνομα ρουτίνας]
Παράδειγμα:
Dim initialX As Double
initialX = 2.51
Dim root As Double
Call CalculateNewtonRaphson(initialX, root)
Worksheets(1).Range("C2").Value = root 'type the result
Για να καλέσουμε ένα function αρκεί να την καλέσουμε με το όνομα της, για παράδειγμα:
Dim initialX As Double
initialX = 2.51
Dim root As Double
root = CalculateNewtonRaphson(initialX)