Registriert seit: 12.01.2018
Version(en): Office 14
Hallo zusammen, ich möchte aus einem Textstring verschiedene Textteile extrahieren.
In der Spalte A stehen unterschiedliche Texte, in denen Zahlenwerte mit Dezimalpunkt enthalten sind: A1: AdmPaperExtent [ 2891.34 2040.942 ] def A2: BlockTrf [1 0 0 1 76.536 1716.384 ] def A3: BlockSize [507.402 175.746 ] def
Aus diesen Texten möchte ich die Zahlen mit Dezimalpunkt herausextrahieren. Diese in die Zellen B und C eintragen.
Wunschergebnis:
B1: 2891.34 B2: 76.536 B3: 507.402
C1: 2040.942 C2: 1716.384 C3: 175.746
Mit TEIL und FINDEN oder SUCHEN komme ich nicht weiter, weil die Zahlen unterschiedlich lang sind.
Weiss jemand eine Lösung?
Vielen Dank vorab!
Viele Grüße Rumo0815 ------------------------ Bei Licht betrachtet ist der Leithammel auch nur ein Schaf.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
wenn du das nicht allzu oft brauchst, wäre es eine Option das mit der Funktion Text in Spalten zu trennen. Spaltentrenner wären (in dieser Reihenfolge) : ] [ Dann kannst du die Spalten mit den jeweils überflüssigen Inhalten einfach löschen.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 12.01.2018
Version(en): Office 14
Hallo Klaus-Dieter, Mit "Text in Spalten" habe ich auch schon probiert, leider benötige ich das mehr als 4.000 mal pro Jahr. Daher wäre eine entsprechende Formel oder ein Makro sehr hilfreich! Trotzdem Dankeschön für Deine Zeit!
Viele Grüße Rumo0815 ------------------------ Bei Licht betrachtet ist der Leithammel auch nur ein Schaf.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo, hier mal ein Lösungsvorschlag mit VBA: Code: Sub bereinigen() Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="]", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True Columns("B:B").Delete Shift:=xlToLeft Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="[", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True Columns("A:A").Delete Shift:=xlToLeft Columns("A:A").EntireColumn.AutoFit Range("B1:B" & leZeile).FormulaR1C1 = "=TRIM(RC[-1])" Range("B1").AutoFill Destination:=Range("B1:B3") Range("B1:B3").Copy Range("A1:A3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Columns("A:A").Application.CutCopyMode = False Range("B1:B" & leZeile).Delete Shift:=xlToLeft Columns("A:A").EntireColumn.AutoFit End Sub
Function leZeile() As Long leZeile = CLng(Range(Range(Cells(1, 1), Cells(Rows.Count, Columns.Count)).Find(What:="*", _ After:=Range("A" & Rows.Count), LookIn:=xlValues, LookAt:=xlWhole, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Address).Row) End Function
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
05.02.2018, 18:07
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2018, 18:07 von LCohen.)
Dein B:C wird hier zu D:E: B1: =WECHSELN(WECHSELN(WECHSELN(GLÄTTEN(A1);"[";);"]";);ZEICHEN(160);)C1: { =KKLEINSTE(WENN(ISTZAHL(FINDEN(".";TEIL(WECHSELN($B1;" ";WIEDERHOLEN(" ";99));SPALTE($A1:$Z1)*99-98;99)));SPALTE($A1:$Z1));SPALTE(A1))} D1:E1: =GLÄTTEN(TEIL(WECHSELN($B1;" ";WIEDERHOLEN(" ";99));(SPALTE(A1)+$C1-1)*99-98;99)){} ist Dir ein Begriff. Sonst dies befolgen.
Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:1 Nutzer sagt Danke an LCohen für diesen Beitrag 28
• Rumo0815
Registriert seit: 12.01.2018
Version(en): Office 14
Hallo LCohen, vielen Dank für Deine Lösung. Funktioniert genau so wie ich es mir vorgestellt habe!
Dankeschön fürs "Gehirnschmalz"
Viele Grüße Rumo0815 ------------------------ Bei Licht betrachtet ist der Leithammel auch nur ein Schaf.
|