EXCEL Makro, 4 Stellen von hinten einrücken und ein Komma setzen

Chris

Mitglied
Hallo zusammen,

ich sehe mich einer Aufgabe konfrontiert die sich wohl nur durch ein makro lösen lässt. Leider bin ich hierfür kein Fachmann und bedarf externer Hilfe. Es geht um Folgendes:

In einer Excel Tabelle stehen in der ersten Spalte Zahlenwerte gefolgt von einem Buchstaben und einem Leerzeichen. Dies sieht z.B. so aus: (ohne ' ')

'123456S '

Buchstabe und Leerzeichen sind immer vorhanden. Die Aufgabe besteht nun darin vom Ende der Zeichenkette her 4 Stellen einzurücken und dann ein Komma zu setzen. Das Ergebnis sieht dann so aus: '1234,56S '. Ist so etwas per Makro lösbar, falls ja könnte mir einer bei der Erstellung selbigen behilflich sein?
 
könnte etw so gehen
Visual Basic:
Public Function test123(value As String)
    test123 = Left(value, Len(value) - 4) & "," & Right(value, 4)
End Function
 
Mal angenommen die Zahl steht in Zelle "A1" dann gibst du in Zelle "B1" folgende Formel ein:

Visual Basic:
=LINKS($A1;4) & "," & RECHTS($A1;4)

Edit: Ups, mal wieder zu langsam.
 
Zuletzt bearbeitet:
Hi, vielen Dank für Eure Hilfe. Ich habe das Ganze noch etwas modifiziert da es vorkommen kann dass die Zahlen unterschiedlich lange sind. Kann also chon vorkomme, dass es mal 1000, 1000000 oder 100000000000 ist.

Hier die Benutze Formel:

Code:
=LINKS(A1;(LÄNGE(A1)-4)) & "," & RECHTS(A1;4)

Sieht jemand einen Denkfehler dabei?
 
Nö, ist genau das was meine Funktion auch macht. Einfach dass das verfl. Excel in deutsch deutsche Befehle haben will und so das ganze mit einem englischen Excel wieder unlesbar wird....
Ich werde mich nie an deutsche Befehle gewöhnen *g*

Visual Basic:
test123 = Left(value, Len(value) - 4) & "," & Right(value, 4)
 
Moin Chris,
ich sehe mich einer Aufgabe konfrontiert die sich wohl nur durch ein makro lösen lässt
Die Lösung per Makro hast du ja schon. Aber es geht durchaus auch mit Bordmitteln:
Code:
=LINKS(A1;LÄNGE(A1)-2)/100&RECHTS(A1;2)
Dier ist in der Ausgabe selbstverständlich auch ein Leerzeichen angehängt :)
 
Das Problem bei diesen Excel-Formeln, bzw. was mich am meisten nervt, ist, dass man es nicht auf die eigene Zelle anwenden kann. Man braucht immer eine zweite Zelle, und das Ergebnis wird *nie* absolut gespeichert, sprich man braucht immer die Referenzzelle.
Deswegen benutze ich die Excel-Funktionen selten, sondern mach direkt alles mit VBA, da kann man sich nen schönes makro basteln und es auf ein hotkey setzen...

yaslaw hat gesagt.:
Ich werde mich nie an deutsche Befehle gewöhnen *g*
Das stimmt, Programmierung geschieht einfach mit Englischen Begriffen, und es kommt mir wie ne Fremdsprache vor, wenn ich sowas in Deutsch lese...
 
@ Matt297
Ich gebe zu, dass es auch mir recht oft leichter fällt, mal eben 'ne SUB oder FUNCTION zu basteln. Aber die Excel Hausmittel haben auch ihre Vorteile. Nicht nur in Sachen Geschwindigkeit der Ausführung.

Mir ging es hier nur darum, dass es nicht unbedingt VBA sein muss.

@ yaslaw
die ganz frühen Versionen der Excel Makros waren deutsche Befehle. GRAUENHAFT!
 
Hmm, ich kann mir nicht vorstellen, dass bei du den Geschwindigkeitsunterschied bei so einer kleinen Funktion bemerkst ;)
Ja natürlich wenn man nen riesigen Haufen an Daten hat, geht das so vielleicht schneller aber (meiner Meinung nach) unkomfortabler...

Gruß
Matt
 
Moin Matt297,

wir schweifen enorm vom eigentlichen Thema ab. Ich bin gerne bereit, mit dir und anderen über den sinnvollen Einsatz von VBA zu diskutieren, aber bitte in einem eigenen Thread.

Solange sich Chris hier nicht als TS meldet, werde ich mich zurückhalten.
 
Zurück