Office-Fragen.de
Eine Zahl auseinander nehmen - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Excel (https://office-fragen.de/forum-2.html)
+--- Thema: Eine Zahl auseinander nehmen (/thread-4168.html)



Eine Zahl auseinander nehmen - hziemer - 07.11.2019

Hallo Zusammen.

Ich möchte folgendes Problem lösen:
Meine Zahl ist 16stellig. z.B. 1234567890123456
Jetzt soll diese Zahl so aussehen: 12:34:56:78:90:12:34:56

Das funktioniert auch gut mit dieser Formel:
=VERKETTEN(LINKS(A1;2);":";(TEIL(A1;3;2));":";TEIL(A1;5;2);":";TEIL(A1;7;2);":";TEIL(A1;9;2);":";TEIL(A1;11;2);":";TEIL(A1;13;2);":";RECHTS(A1;2))

Geht aber nur wenn die Ausgangszahl in A1 steht.

Gibt es eine Möglichkeit diese Formel in ein Makro zu stecken, damit sie jede aktive Zelle umwandelt?
Das Ziel ist dabei ich kopiere die Ausgangszahl in irgendeine Zelle, starte ein Makro mittels Tastenkombination und in der Zelle erscheint die Zahl mit Doppelpunkten.

Gibt es dafür eine Lösung. Ich bin für jede Hilfe dankbar.

Mit lieben Grüßen aus dem Schwabenland
hziemer


RE: Eine Zahl auseinander nehmen - Sigi.21 - 07.11.2019

Hallo HZiemer,

mit folgendem kleinem Makro:

Sub TextZahlBearbeiten()
Dim Zelle As Range
Dim Aus As String
Dim i As Long
    For Each Zelle In Application.Selection
        If Len(Zelle.Text) = 16 Then
            Aus = ""
            For i = 1 To Len(Zelle.Text)
                Aus = Aus & Mid(Zelle.Text, i, 1)
                If i Mod 2 = 0 Then Aus = Aus & ":"
            Next i
            If Right(Aus, 1) = ":" Then Aus = Left(Aus, Len(Aus) - 1)
            Zelle.Value = Aus
        End If
    Next Zelle
End Sub


Gruß
Sigi


RE: Eine Zahl auseinander nehmen - Officer - 07.11.2019

Hi,

alternativ ein wenig kürzer wie folgt:

Code:
Sub Zahl_Neu()

Dim wert1 As String

wert1 = ThisWorkbook.Sheets(1).Range("A1").Text

For a = 1 To 16 Step 2
  wert2 = wert2 & Mid(wert1, a, 2) & ":"
Next a
wert2 = Left(wert2, 23)

End Sub

LG Loisl


RE: Eine Zahl auseinander nehmen - RPP63 - 08.11.2019

Moin!
Warum nicht einfach (hier: Direktfenster):
PHP-Code:
?Format("1234567890123456","@@:@@:@@:@@:@@:@@:@@:@@")
12:34:56:78:90:12:34:56 

Gruß Ralf

Hier mal als Automatismus für Spalte A
Vorbereitung:
Zahlenformat: Text
Datengültigkeit: Länge von 16 bis 16 Stellen

[Bild: UJnZcPx.png]

PHP-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  
If .Column 1 Then
    Application
.EnableEvents False
    
.Value Format(.Value"@@:@@:@@:@@:@@:@@:@@:@@")
    Application.EnableEvents True
  End 
If
End With
End Sub 


Ergibt automatisch:

[Bild: cyBrtv2.png]

Ich habe die Übungsdatei mal angehangen.

Gruß Ralf


RE: Eine Zahl auseinander nehmen - hziemer - 08.11.2019

Hallo Zusammen

Danke an alle.
Die vorgeschlagenen Lösungen funktionieren alle.
Ich habe jetzt die Lösung von Sigi.21 eingebaut.

Nochmals Danke an Euch.