Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: A1 = A1+1
#1
Question 
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 :)
Antworten Top
#2
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.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
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:
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • o0Julia0o
Antworten Top
#4
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!
Antworten Top
#5
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.
Antworten Top
#6
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?
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • o0Julia0o
Antworten Top
#7
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
[-] Folgende(r) 1 Nutzer sagt Danke an lupo1 für diesen Beitrag:
  • o0Julia0o
Antworten Top
#8
Ohja, ein "then" hat gefehlt. Und das End If. Danke!
Antworten Top
#9
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • o0Julia0o
Antworten Top
#10
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".
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste