Supportnet / Forum / Tabellenkalkulation
Vorzeichen von rechts nach links / VBA
Frage
Hallo Community,
beim Kopieren von Daten aus der Zwischenablage nach Excel hab ich das Problem, dass das Minus-Vorzeichen statt links vor den Zahlen immer rechts der Zahlen steht und somit nur als Text gelesen wird. Die Daten müssen dann immer noch von Hand nachgepflegt werden.
10,00- --> -10,00
Diesen Vorgang möchte ich gerne per Makro automatisieren. In dem Makro soll jedoch berücksichtigt werden, dass in den eingefügten Daten auch positive Werte enthalten sein können, diese dürfen dann nicht verändert werden.
Die Daten stehen jeweils untereinander in einer Spalte.
Mit VBA lässt sich das sicherlich mit einer Schleife, die die Zelle nacheinander abfrägt und korrigiert, durchführen, leider hab ich das "Schleifenzaubern" mit VBA immer noch nicht so richtig drauf.
Gruß
martl
Antwort 1 von want2cu
Hallo Martl,
Alibas Lösung im Thread vomn 01.05.2003 sah so aus:
=WENN(ISTFEHLER(FINDEN("-";A3));A3*1;WECHSELN(A3;"-";"")*-1)
Diese Formel in eine Hilfsspalte rechts neben die "Textzahlen" und dan soweit wie benötig nach unten kopieren.
Wenn du eine VBA-Lösung haben möchtest, dann such einfach nochmal unter dem Stichwort "Minuszeichen" hier im Sn nach dem ursprünglichen Thread. Dort steht auch die VBA-Lösung
CU
want2cu
Alibas Lösung im Thread vomn 01.05.2003 sah so aus:
=WENN(ISTFEHLER(FINDEN("-";A3));A3*1;WECHSELN(A3;"-";"")*-1)
Diese Formel in eine Hilfsspalte rechts neben die "Textzahlen" und dan soweit wie benötig nach unten kopieren.
Wenn du eine VBA-Lösung haben möchtest, dann such einfach nochmal unter dem Stichwort "Minuszeichen" hier im Sn nach dem ursprünglichen Thread. Dort steht auch die VBA-Lösung
CU
want2cu
Antwort 2 von Martina
Hallo Martl,
versuchs doch mal damit:
Es kann sein, dass du anschließend die Werte noch in ein Zahlenformat bringen musst.
Gruß Martina
versuchs doch mal damit:
Sub Makro()
Dim BeginnZeile, Wert
BeginnZeile = 0 'Start in Zeile 1
Do
BeginnZeile = BeginnZeile + 1
Wert = Range("A" & BeginnZeile) 'Startposition in Spalte A
If Wert = "" Then
Exit Do
End If
Range("A" & BeginnZeile) = "-" & Left(Wert, Len(Wert) - 1)
Loop
End Sub
Es kann sein, dass du anschließend die Werte noch in ein Zahlenformat bringen musst.
Gruß Martina
Antwort 3 von martl
Hallo want2cu, Hallo Martina,
jetzt hab ich zwei Lösungen, die beide hervorragend funkionieren. Super !
Vielen Dank an Euch, dass Ihr mich bei der Lösung für dieses Problem so tatkräftig unterstützt habt.
Viele Grüße
martl
jetzt hab ich zwei Lösungen, die beide hervorragend funkionieren. Super !
Vielen Dank an Euch, dass Ihr mich bei der Lösung für dieses Problem so tatkräftig unterstützt habt.
Viele Grüße
martl

