Clever-Excel-Forum

Normale Version: VBA: A1 = A1+1
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
hi,

wie mache ich das in VBA, dass in Feld A1 eine 1 addiert wird zum aktullen Inhalt?

Sub Plus()
Range("A1").Value = Range("A1") + 0,5
End Sub

...gibt leider einen Fehler aus.


lieben Dank

Julia :)
Hallo Julia,

heute mal etwas einfaches, das ist schön.

snb sagt immer VBA spricht englisch.
Heißt was bei uns mit Komma geschrieben wird, wird in VBA mit Punkt und umgekehrt geschrieben.
Moin,
erstens sagst du, dass der Wert 1 addiert werden soll und schreibst im Code 0,5.
Zweitens: VBA speaks US. So you have to write 
Code:
Range("A1").Value = Range("A1") + 0.5
or
Range("A1") = Range("A1") + 0.5

with a dot and not a comma as a decimal delimiter.
Und sorry, meine letzte Englisch-Stunde war vor über 55 Jahren, falls das nicht so ganz "modern" war  :05:
vor 55 Jahren - lol. Gab es da schon Englisch ^^

Hat funktioniert. Ja, die 0,5 waren falsch. Ich habe 2-3 solcher Stellen und habe verschiedenes probiert dann, weil ich immer Fehler erhalten hatte wegen dem ",". Da war auch dann mal 0,5 als Wert dazwischen. Falsch rüberkopiert hierher.

danke euch!
Ich möchte jetzt, dass es nur um 1 erhöht wird, wenn der Wert in A1 größer als 0 ist.

Sub Plus()
If Range("A1").Value > 0
Range("A1").Value = Range("A1") + 1.0
Else
End Sub

So funktioniert aber auch das nicht.
Wenn ich die IF- Bedingung richtig schreibe, DANN läuft das auch richtig und ohne Fehlermeldung bid zum ENDE.

Weißt du eigentlich, dass es auch in VBA eine F1-Taste gibt?
GMG-CC wollte sagen: Else hat heute frei. Es ist Sonntag.

Sub Plus()
If Range("A1").Value > 0
Range("A1").Value = Range("A1") + 1.0
Else
End Sub

geht auch als

Sub Plus(): [A1] = [A1] - ([A1] > 0): End Sub
Ohja, ein "then" hat gefehlt. Und das End If. Danke!
Hallo Julia,

schaue Dir aber unbedingt noch die Lösung von lupo1 an.

Sub test()
range("a1").value = range("a1").value - (range("a1").value > 0)
End Sub

Habs hier etwas länger geschrieben. Wenn es um 1 geht, funktioniert das so. VBA bringt bei True -1 und bei False 0. Um eins bei zutreffender Bedingung zu addieren, brauchst Du also nur die -1 abzuzuiehen

Willst Du andere Zahlen verrechnen, dann im Prinzip so
1 - (x * (1 > 0))
wobei die 1 hier für Dein A1 steht.
oh, geht ja auch ohne Else. Aber - A1.value geht nicht, da ich 1 abziehen möchte oder auch 0,5. Je nach Feld. Und in A1 steht dann das Ergebnis, also z.B. "3".
Seiten: 1 2