djschwollkopp
Goto Top

Zahlen und Buchstaben in Spalten trennen

Hallo zusammen,

ich habe eine Excel Spalte A1 in der z.B. 16 Wochen, 200 Stück, etc aufgelistet sind.
Nun möchte ich aus dieser einen Spalte zwei Spalten machen. Dabei soll ich B1 der Zahlenwert stehen (z.B. 16, 200) und in der Spalte C1 die Einheiten (Stück, Wochen, etc)aufgelistet werden.
Danke für die Hilfe im voraus!

DJSchwollkopp

PS: Ich setze Excel 2010 ein.

Content-Key: 205926

Url: https://administrator.de/contentid/205926

Printed on: April 25, 2024 at 08:04 o'clock

Mitglied: 76109
76109 May 02, 2013 updated at 08:32:32 (UTC)
Goto Top
Hallo DJSchwollkopp!

Doller Nicknameface-smile

Versuchs mal mit diesem Makro:
Option Explicit

Sub SplitTextToColumns()
    Dim aTempA As Variant, aTempB As Variant, aValues As Variant, i As Long
    
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row  
        If Cells(i, "A").Text <> "" And Cells(i, "B").Text = "" Then  
            aValues = Split(Cells(i, "A"), ",")  
            
            If UBound(aValues) = 1 Then
                aTempA = Split(Trim(aValues(0)))
                aTempB = Split(Trim(aValues(1)))
                aValues(0) = aTempA(0) & ", " & aTempB(0)  
                aValues(1) = aTempA(1) & ", " & aTempB(1)  
                Cells(i, "A").Resize(1, 2).Value = aValues  
            End If
        End If
    Next
    
    Columns("A:B").AutoFit  
End Sub

Den Quelltext im VBA-Editor in das betreffende Tabellenblatt (vermutlich Tabelle1) einfügen und über Menu>Extras>Makro starten. Anstatt der Spalte B:C habe ich allerdings die Spalte A:B genommen, da mir die Spalte A danach sinnlos erscheint. Mit diesem Makro können auch weitere Werte in Spalte A angefügt und das Makro erneut gestartet werden. Das Makro aktuallisiert nur Zeilen, in denen die Spalte B Leer ist...

Gruß Dieter
Member: colinardo
colinardo May 02, 2013 updated at 11:12:19 (UTC)
Goto Top
Hi DjSchwollkopp,

ich glaube du meintest das so, oder ?:

A B C
16 Wochen =GLÄTTEN(LINKS($A1;FINDEN(" ";$A1))) =GLÄTTEN(RECHTS($A1;LÄNGE($A1)-FINDEN(" ";$A1)+1))
200 Stück =GLÄTTEN(LINKS($A2;FINDEN(" ";$A2))) =GLÄTTEN(RECHTS($A2;LÄNGE($A2)-FINDEN(" ";$A2)+1))
... ...
Grüße Uwe
Member: it-frosch
it-frosch May 02, 2013 at 11:28:10 (UTC)
Goto Top
hallo,

das klingt nach einer Übungsaufgabe. face-wink

Sieh dir mal die den Menüpunkt Text in Spalten an.
Ich würde das Leerzeichen als Trennzeichen nehmen.

grüße vom it-frosch