Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Teilen von Zahlenkolonnen
#1
Hallo!

Ich habe ein Problem, was ich nicht lösen kann.
Ich habe Zahlenkolonnen, die von 4 bis 8 Ziffern lang sind. Nun müssen diese Zahlen VON HINTEN immer in zweier-Pärchen geteilt werden. So sollte das aussehen:
1234 --> 12 34
12345 --> 1 23 45
123456 --> 12 34 56
1234567 --> 1 23 45 67
12345678 --> 12 34 56 78

Gibt es da eine Formatierung, die ich nicht kenne, die das alles schnell löst?

Besten Dank für Antworten!
Antworten Top
#2
Hallo,

zumindest in xl2016 gibt es im Menü "Daten" die Möglichkeit der "Blitzvorschau". Einfach gesagt, man fügt in 3-4 Zellen die gewünschte Formatierung per Hand ein, xl "versteht" es und wendet es auf alle Zeilen an.

mfg
Antworten Top
#3
leider gibt es kein muster in der Spalte, die Blitzvorschau findet in dieser Spalte kein Muster.
Ich bräuchte deshalb entweder eine Formatierung oder ein VBA
Antworten Top
#4
Hallo,

hilft dir das folgende benutzerdefinierte Format?

Code:
## ## ## ## ## ##
Gruß
Peter
Antworten Top
#5
Hallo

meinst du sowas ...???

mfg  Gast 123

Code:
Sub Zahlenblock_zerlegen()
Dim AC As Range, lz As Long
Dim Wert As Variant, Neuwert As Variant
   Sheets("Tabelle1").Select
   lz = Range("A2").End(xlDown).Row
   
'Schleife für alle Werte auflisten
For Each AC In Range("A2:A" & lz)
   Wert = Trim(AC):  Neuwert = Empty
   'gerade/ungerade auswerten
   If Wert Mod 2 = 1 Then
      Neuwert = Left(Wert, 1)
      Wert = Right(Wert, Len(Wert) - 1)
   End If
   
   'Schleife für String zu zerlegen
   For j = 1 To 10
      Neuwert = Neuwert & " " & Left(Wert, 2)
      If Len(Wert) = 2 Then Exit For
      Wert = Mid(Wert, 3, 20)
   Next j

   'neuen Wert auflisten
   AC.Cells(1, 2) = Trim(Neuwert)
Next AC
End Sub
Antworten Top
#6
Hi Gast123,

1. Variablendeklaration schlecht!
2 lz ergibt die letzte Zeile der Tabelle 1048576 und läuft bei leeren Zellen dann in einen Fehler.


Code:
Sub zerlegen()
Dim lz As Long
Dim Wert As String
Dim Wert2 As String
Dim loA As Long
Dim loCo As Long
lz = Cells(Rows.Count, 1).End(xlUp).Row
For loCo = 1 To lz
Wert = Trim(Str(Cells(loCo, 1)))
If Len(Wert) Mod 2 = 1 Then Wert = " " & Wert
    For loA = 1 To Len(Wert) - 1 Step 2
        Wert2 = Wert2 & Mid(Wert, loA, 2) & " "
    Next
    Cells(loCo, 1) = Trim(Wert2)
    Wert2 = ""
Next
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
Moin Leute,

der Letzte Code funktioniert soweit ganz gut, aber leider nicht, wenn eine Zeile leer ist. Gäbe es da noch eine Idee?

Danke schonmal an alle Antworten!
Antworten Top
#8
Warum funktioniert denn Peter sein Vorschlag nicht bei dir.
Ich habe den Vorschlag benutzt um die Telefonnummern übersichtlicher darzustellen. Es funktioniert und ist ohne Aufwand umzusetzen.
017212345678  = 01 72 12 34 56 78
Antworten Top
#9
Hi,



Code:
Sub zerlegen()
Dim lz As Long
Dim Wert As String
Dim Wert2 As String
Dim loA As Long
Dim loCo As Long
lz = Cells(Rows.Count, 1).End(xlUp).Row
For loCo = 1 To lz
if cells(loco,1)<>"" then
Wert = Trim(Str(Cells(loCo, 1)))
If Len(Wert) Mod 2 = 1 Then Wert = " " & Wert
    For loA = 1 To Len(Wert) - 1 Step 2
        Wert2 = Wert2 & Mid(Wert, loA, 2) & " "
    Next
    Cells(loCo, 1) = Trim(Wert2)
    Wert2 = ""
Next
next
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste