Was bedeuten die Schlüsselwörter ByVal und ByRef? ByVal legt fest, dass ein Argument als Wert übergeben wird, d. h. der Wert eines Arguments wird an eine Prozedur oder Funktion anstelle der Adresse übergeben. Dadurch kann die Prozedur auf ein Kopie der Variablen zugreifen. Das bedeutet, dass der aktuelle Wert der Variablen nicht von der Prozedur verändert werden kann, an die er übergeben wird. ByRef legt fest, dass das Argument als Verweis übergeben wird, d. h. die Adresse eines Arguments wird an eine Prozedur oder Funktion anstelle des Werts übergeben. Dadurch kann die Prozedur auf die tatsächliche Variable zugreifen. Das bedeutet, dass der aktuelle Wert der Variablen von der Prozedur geändert werden kann, an die er übergeben wird. Wenn nichts anderes angegeben wird, werden Argumente als Referenz übergeben, da ByRef der Standardwert in Visual Basic ist. Um das auszuprobieren, starten Sie ein neues Projekt und platzieren auf der Form 2 CommandButtons, die Sie wie folgt benennen: Name = Command1, Caption = ByRef, Name = Command2, Caption = ByVal. Dann noch folgender Code: ' Parameterübergabe ByRef Function RechneA(x As Long, y As Long) As Long RechneA = (x + y) x = x + 1 End Function Private Sub Command1_Click() Dim x As Long, y As Long x = 5 y = 6 MsgBox RechneA(x, y) MsgBox x End Sub In diesem Beispiel wird durch ByRef die Variable selbst übergeben. Als Ergebnis wird angezeigt: 11 und 6. Die Funktion hat durch ByRef die übergebene Variable verändert, was mit ByVal nicht passiert wäre. ' Parameterübergabe ByVal Function RechneB(ByVal x As Long, ByVal y As Long) As Long RechneB = (x + y) x = x + 1 End Function Private Sub Command2_Click() Dim x As Long, y As Long x = 5 y = 6 MsgBox RechneB(x, y) MsgBox x End Sub In diesem Beispiel wird durch ByVal nur der Wert übergeben: 5 und 6. Als Ergebnis wird angezeigt: 11 und 5. Diese Seite wurde bereits 36.358 mal aufgerufen. |
sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Buchempfehlung Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |