Anzeige
Archiv - Navigation
1956to1960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Alphanumerische Zeichenfolge in einer Zelle zu strukturieren

Alphanumerische Zeichenfolge in einer Zelle zu strukturieren
05.01.2024 12:29:12
Luccy
Ich suche eine Möglichkeit, eine alphanumerische Zeichenfolge in einer Zelle zu strukturieren und Trennzeichen (Punkte oder Sonderzeichen) einzufügen.

Die Funktion "Zelle formatieren" ist mir bekannt. Dort kann ich in Zahlen mit Tausendertrenner und Komma versehen, sowie Währungen und Einheiten hinzufügen.

Ich suche eine Funktion, die mir beispielsweise aus 100A01 -> 100.A01 oder aus A9H6GE56 A9-H6G-E56 macht. Das soll sofort bei Eingabe geschehen und ohne Formel oder weitere Zelle geschehen. Ich steh etwas auf dem Schlauch. Klar ist die Eingabe manuell gleich mit zusätzlichen Zeichen möglich, aber nervig.

Was noch funktional wäre, ist ein späteres sortieren dieser Zahlenreihen, wobei nach 0...9, dann A, B, ... Z folgen sollte und die Berücksichtigung der Stelle auch wichtig wäre.

Ich nutze Excel 2019 am Mac (16.77.1).

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alphanumerische Zeichenfolge in einer Zelle zu strukturieren
05.01.2024 12:54:31
Peer
Hallo.

Ich bin zwar noch weit weg vom Profi, aber soweit mein Gedächtnis noch funktioniert, wäre für Excel die LINKS()-Funktion eventuell etwas für dich. Analog auch RECHTS()
Also den Text in der Zelle splitten und die Teile zusammen ausgeben.

Schau mal hier!
https://www.excel-ist-sexy.de/links-rechts-teil/

Vielleicht es etwas für dich.

Eine VBA-Lösung gibt es dafür natürlich auch...

Gruß Peer
AW: Alphanumerische Zeichenfolge in einer Zelle zu strukturieren
05.01.2024 18:33:18
Daniel
HI
könnte schwierig werden.
wenn das direkt bei der Eingabe erfolgen soll, muss es auf jeden Fall mit VBA programmiert werden.

Beispielsweise mit diesem Makro im Modul des Tabellenblatts.
als "Gültigkeitsbereich" gibst du an, in welchem Zellbereich die Umwandlung durchgeführt werden soll
"x" ist die Blocklänge, also nach wieviel Zeichen das "-" eingefügt wird.
Einfügeregel ist analog Tausendertrennzeichen (also von rechts gezählt)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Zelle As Range
Dim txt1 As String
Dim txt2 As String
Dim i As Long
Dim Gültigkeitsbereich As Range
Const x As Long = 3
Set Gültigkeitsbereich = Range("A:A")

If Not Intersect(Target, Gültigkeitsbereich) Is Nothing Then
For Each Zelle In Intersect(Target, Gültigkeitsbereich)
txt1 = Replace(Zelle.Text, "-", "")
i = Len(txt1) Mod x
If i = 0 Then i = x
txt2 = Left(txt1, i)
For i = i + 1 To Len(txt1) Step x
txt2 = txt2 & "-" & Mid(txt1, i, x)
Next
Application.EnableEvents = False
Zelle.Value = txt2
Application.EnableEvents = True
Next
End If


End Sub


Sortiert wird das ganze immer als Text, entscheidend ist immer das erste unterschiedliche Zeichen von links.
Eine Sortierung analog Zahlen mit berücksichtigung der Größe (also hier Textlänge) funktioniert nicht.
dazu müssten dann noch alle Zeichen mit Leerzeichen auf die gleiche Länge aufgefüllt werden.

das wäre dann: mit dieser Zeile möglich, hier für 20 Zeichen:
Zelle.Value = right(String(20, " ") & txt2, 20)

Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige