Thema Datum  Von Nutzer Rating
Antwort
22.07.2016 13:17:12 Silvia
Solved
Blau Excel-VBA - ByVal und ByRef
22.07.2016 15:33:40 Gast14017
Solved
22.07.2016 16:08:32 Silvia
Solved

Ansicht des Beitrags:
Von:
Gast14017
Datum:
22.07.2016 15:33:40
Views:
622
Rating: Antwort:
 Nein
Thema:
Excel-VBA - ByVal und ByRef

Hallo,

ok das ist auch nicht ganz so einfach zu verstehen und ergibt sich meistens aus der Programmierpraxis, aber mal ein Versuch:

Wenn Du Deine Werte bspw. an andere Variablen oder Eigenschaften übergeben willst, ohne die Ausgangsvariablen zu verändern, weil Du die noch unveränderten Werte für andere Operationen benötigst, würdest Du A und B verwenden, andernfalls möchtest Du in einer ausgelagerten Sub-Prozedur Deine Variablen neu berechnen und genau mit diesen neuen Werten in der Hauptprozedur weiterarbeiten und würdest dann A2, B2 nutzen....

Option Explicit

Sub A()
    Dim x As Integer, y As Integer
    x = 1: y = 2
    Call B(x, y)
    Call MsgBox("x = " & x & " y = " & y)
End Sub

Sub B(ByVal x As Integer, ByVal y As Integer)
    Dim lngVal1 As Long, lngVal2 As Long
    x = x + 2: y = y + 2
    lngVal1 = x
    lngVal2 = y
    Call MsgBox("lngVal1 = " & lngVal1 & " lngVal2 = " & y)
End Sub

Sub A2()
    Dim x As Integer, y As Integer
    x = 1: y = 2
    Call B2(x, y)
    Call MsgBox("x = " & x & " y = " & y)
End Sub

Sub B2(ByRef x As Integer, ByRef y As Integer)
    x = x + 2: y = y + 2
End Sub

Gruß,


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.07.2016 13:17:12 Silvia
Solved
Blau Excel-VBA - ByVal und ByRef
22.07.2016 15:33:40 Gast14017
Solved
22.07.2016 16:08:32 Silvia
Solved