wake-up-neo.com

VBA-Kurzform für x = x + 1?

Sub btn1_Click()
Static value As Integer
value = value + 1
MsgBox value
End Sub

Ich schwöre, als ich im College einen VB.net-Kurs belegte, gab es eine kürzere Möglichkeit, einer Variablen zu sagen, dass sie sich selbst '' hinzufügen soll. Vielleicht ist x = + 1. Ich verwende jetzt jedoch Access anstelle von Visual Studio. Wenn ich das innerhalb des VBE versuche, entfernt es das +. Ich habe sogar Option Explicit ohne Änderung

Unter der Annahme, dass die Antwort "Nein" lautet, gibt es keine Möglichkeit, sie kurz zu fassen. Dies ist nur eine Besonderheit von VBA

39
greggmcfg

Leider gibt es keine operation-assignment Operatoren in VBA.

(Zusatzbelegung += ua sind in VB.Net verfügbar)

Sinnlose Problemumgehung;

function Inc(ByRef i As Integer)
   i = i + 1  
end function
...
Static value As Integer
inc value
inc value
69
Alex K.

Wenn Sie die inkrementierte Nummer direkt in einer Funktion anrufen möchten, funktioniert diese Lösung besser:

Function inc(ByRef data As Integer)
    data = data + 1
    inc = data
End Function

beispielsweise:

Wb.Worksheets(mySheet).Cells(myRow, inc(myCol))

Wenn die Funktion inc() keinen Wert zurückgibt, wird in der obigen Zeile ein Fehler generiert.

6
etfa