EXEL Eine Zahl in mehrere Zellen automatisch aufteilen?


11.02.2025, 13:20

Habe das Problem jetzt mit einem Makro über VBL gelöst, das ist der Code dazu.

Sub CheckAndSplitNumbers()
    Dim ws As Worksheet
    Dim cell As Range
    Dim numberString As String
    Dim i As Integer


    ' Arbeitsblatt definieren (aktives Blatt)
    Set ws = ActiveSheet


    ' Bereich A12 bis A27 durchlaufen
    For Each cell In ws.Range("A12:A27")
        ' Überprüfen, ob die Zelle eine 9-stellige Zahl enthält
        If IsNumeric(cell.Value) And Len(cell.Value) = 9 Then
            numberString = CStr(cell.Value) ' Zahl in String konvertieren


            ' Zellen rechts von Spalte A (8 Spalten) leeren
            cell.Offset(0, 1).Resize(1, 8).ClearContents


            ' Ziffern in die Zellen rechts von Spalte A aufteilen
            For i = 1 To Len(numberString)
                cell.Offset(0, i).Value = Mid(numberString, i, 1)
            Next i


            ' Erste Ziffer der Zahl in Spalte A ersetzen
            cell.Value = Mid(numberString, 1, 1)


            ' Zweite bis neunte Ziffer in Spalten B bis I platzieren
            For i = 2 To 9
                cell.Offset(0, i - 1).Value = Mid(numberString, i, 1)
            Next i
        End If
    Next cell


    MsgBox "Die Zellen wurden überprüft und aufgeteilt.", vbInformation
End Sub


3 Antworten

Ergänzung:

Bild zum Beitrag

hier eine Lösung je nach dem ob du die Ausgabe in Spalten oder Zeilenrichtung haben willst, ab Excel 2021 muss diese nicht mehr manuell gezogen werden, sondern erstreckt sich automatisch über den passenden Bereich.

- -

Möglichkeiten gibt es Stand 2025 mittleweile viele, wie GutenTag2003 vorschlagen hat staatische Lösungen

oder dynamische wie z.B. von Callidus89 Teil aber auch Rechts/Links

oder aber auch Dinge Textvor/Textnach, was quasi ein wenig Teil mit Suchen/Finden kombiniert, steht aber erst in Excel 2024 zur Verfügung

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby
 - (Microsoft, Formel, Microsoft Excel)

Gipfelstuermer  28.02.2025, 17:35

Nachtrag zu meiner Antwort der Vollständigkeit halber:

siehe Ergänzung ganz oben meiner Antwort

Das ist mit der Funktion =Teil(...) möglich.

z.B. so

Daten - Text in Spalten - getrennt - feste Breite

Bild zum Beitrag

 - (Microsoft, Formel, Microsoft Excel)

Brausehirn 
Beitragsersteller
 06.02.2025, 10:34

Das klappt soweit wunderbar. Kann ich das Automatisch anwenden lassen? So das ich bsp die erste Zelle auswählen die 9-stellige Zahl eingebe und sobald ich die Zelle verlasse er das umschreibt in die einzelnen Zellen?

Vielen Dank schonmal bis hierhin

GutenTag2003  06.02.2025, 18:26
@Brausehirn

Wenn stets nach gleicher Teilung separiert werden soll, könntest Du dafür ein Makro anlegen.

.

und sobald ich die Zelle verlasse er das umschreibt in die einzelnen Zellen?

Das geht für alle Zellen auf einmal, wenn Du den Bereich/Spalte markierst und danach - Daten-Text in Spalten ...

z.B. Spalte A markiert, werden alle Zahlen aufgeteilt

Brausehirn 
Beitragsersteller
 07.02.2025, 12:16
@GutenTag2003

Moin, ich habe das jetzt versucht und er trägt mir alle Daten die ich in Spalte A eintrage und "Ausbreiten" lasse in Zeile 12 (Die erste Zeile im Makro) ein... Aber er macht es schon mal halbautomatisch (Halt mit Tastenkombination)... Jetzt ist halt das Problem das wenn ich die Zahl in Zeile 16 eingebe sie Auch in Zeile 16 Ausgebreitet werden soll...