Hallo zusammen,
ich habe gerade aus einem VBA-Buch diese Aufgabe nachvollzogen:
Dort steht, "Werden die alten Werte in einer Prozedur noch verwendet, dann geschieht die Übergabe 'Call by Value' (die alten Werte sind in der Prozedur A
noch vorhanden.
Werden die Werte mit 'Call by Reference' übergeben, dann wird der veränderte (neue) Wert in Prozedur A verwendet.
Mir erschießt sich der Sinn nicht, warum werden überhaupt Werte mit byVal oder byRef übergeben? Dann könnte man
doch direkt den Wert, den man benötigt in eine "normale" Variable packen ohne Parameterübergabe, oder sehe ich
das falsch?
Sub A()
Dim x As Integer, y As Integer
x = 1: y = 2
B x, y
MsgBox "x = " & x & " y = " & y
End Sub
Sub B(ByVal x As Integer, ByVal y As Integer)
x = x + 2: y = y + 2
End Sub
Ich bräuchte da mal eine Erklärung und hoffe, ich habe mich verständlich
ausgedrückt.
Vielen Dank für Eure Hilfe.
Grüße
Silvia
|