Clever-Excel-Forum

Normale Version: Nummer generieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag,

ich möchte aus zum Bsp.: 1.25  -->  00125
                                      25.1 -->  02510
                                      134  -->  13400
                                      210.4--> 21040
generieren.



Kann mir da jemand weiter helfen?




Grüße,
David
Hallo David,

du musst erst einmal deine Textzahlen in echte Zahlen umwandeln:

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
11.2500125
225.102510
313413400
4210.421040

ZelleFormel
B1=WECHSELN(A1;".";",")*100
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

Die Spalte dann benutzerdefiniert 5-stellig formatieren:
Code:
00000

Anschließend die Spalte kopieren und als Werte wieder einfügen.
Kann man das auch direkt mit einer Formel lösen?
Hallo,

Zitat:Kann man das auch direkt mit einer Formel lösen?

ich bin kein Formelmensch, darum erlaube ich mir mal die Bemerkung, das wird nicht klappen,
weil mehrere Arbeitsschritte in einer Zelle passieren sollen.
Manchmal können die Formelmenschen aber auch Erstaunliches zaubern.

Mit einem VBA-Code würde das aber schon funktionieren.
Hallo ,

mit  Text drumherum 

=TEXT(WECHSELN(A1;".";",")*100;"00000")
Zitat:mit  Text drumherum 

=TEXT(WECHSELN(A1;".";",")*100;"00000")



Perfekt Danke Big Grin
Hallo David,

was hat jetzt Dieters Formel, außer dass sie anstelle Zahlen Texte produziert, mit deiner Frage zu tun, ob man das auch in einer Formel lösen kann. Das verstehe ich nicht. Die Arbeitsschritte sind doch dieselben. Huh 

Mein Hinweis auf
Zitat:Anschließend die Spalte kopieren und als Werte wieder einfügen.

sollte dir nur sagen, dass du damit feste Werte und keine Formeln mehr in deiner Spalte hast.

Um das Ganze ein wenig zu automatisieren, kannst du ein Makro nutzen. Ich habe mal eins und aufgezeichnet etwas optimiert.


Code:
Option Explicit
Sub TextInZahl()

   With Range("B1:B100")
       .FormulaR1C1 = "=IFERROR(SUBSTITUTE(RC[-1],""."","","")*100,"""")"
       .Copy
       .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   End With
   Application.CutCopyMode = False
   Range("B1").Select
End Sub