Hallo,
die Übergabe von Variabeln an Subroutinen oder an Funktionen ist immer gleich, einfach:
Public Sub Main()
Dim i As Integer
Dim s As String
i = 10
s = "Durchlauf"
Call tue_etwas(i, s)
End Sub
Private Sub tue_etwas(ByVal i As Integer, ByVal s As String)
Dim j as Integer
For j = 0 To i
Debug.Print j & ". " & s
Next j
End Sub
Hierbei werden lediglich die Werte der Variablen i uns s aus der Subroutine Main an die Subroutine tue_etwas weitergegeben.
Häufig möchte man jedoch folgendes:
Public Sub Main()
Dim i As Integer
i = 1
Call add_one(i)
Debug.Print i
End Sub
Private Sub add_one(ByRef i As Integer)
i = i + 1
End Sub
Hierbei wird der Speicherbereich von i aus der Subroutine Main an die Subroutine add_one weitergegeben, von add_one verändert und anschließend in der Subroutine Main wieder ausgegeben.
Ich hoffe, das hilft ein wenig weiter.
Gruß
|