Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1564to1568
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
Text in Zellen trennen
26.06.2017 14:19:27
Peter
Hallo liebe Excel Profis,
Habe zwar rudimentäre VBA Kenntnisse, scheitere aber seit Tagen klaglos (die Forenbeiträge habe ich mittlerweile fast alle durch  ) an folgender Problemstellung.
Ich bekomme 1 x täglich eine Excel Datei von einer Datenschnittstelle.
In den ca. 28000 Datensätzen befindet sich eine Spalte deren Inhalt ein textstring mit u.a. Format und unterschiedlicher Länge ist.
Dieser String sollte nun aufgeteilt werden und mit jew. 2 Trennzeichen („-„ und „/“ )getrennt werden (Überschreiben der Werte in der Spalte mit den neunen Werten).
Die zu trennenden Werte sollen immer an gleicher Stelle getrennt werden.
Bsp.
AB00019999X#BB00019999Z#CB00019999X
Oder
AB00019999Y
Oder
AB00019999X#BB00019999Z
Nach Trennung sollte das dann folgendermaßen aussehen (Die alten Werte der Spalte können überschrieben werden):
AB0001-9999/BB0001-9999/CB0001-9999
Oder
AB0001-9999
Oder
AB0001-9999/BB0001-9999
Kann mir hier bitte jemand helfen das Ganze in ein Makro zu packen ?
Wäre furchtbar nett.
Besten dank im Voraus
Viele Grüße
Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Zellen trennen
26.06.2017 14:54:52
Chris
hast du immer eine 9999 vor dem letzten Buchstaben?
AW: Text in Zellen trennen
26.06.2017 15:08:08
Peter
Hi Chris,
leider nein. Kann jede Zahl von 0001 bis 9999 sein.
Es handelt sich um Seriennummern, die den o.g. Wert annehmen können. (von 0001 bis 9999)
Die beiden Buchstaben kennzeichnen die möglichen Varianten (immer 2 Buchstaben).
Die komplette Nummer(Variante+Seriennummern bis Seriennummer).
Der letzte Buchstabe ist ohne Bedeutung und kann weg. z.B. das "X" bei AB00019999X
nach dem # kommt eine neue Nummer(Variante+Seriennummern bis Seriennummer), falls mehrere Varianten vorhanden sind.
VG
Peter
AW: Text in Zellen trennen
26.06.2017 15:26:19
Chris
reicht dir das?
Sub trennen()
Dim SN As Range
Dim teile, teil
Dim antwort As String
For Each SN In Range("A1:A28") 'Bereich hier anpassen
teile = Split(SN.Value, "#")
For Each teil In teile
teil = Left(teil, 6) & "-" & Mid(teil, 7, 4)
antwort = antwort & teil & "/"
Next
SN.Value = Left(antwort, Len(antwort) - 1)
antwort = ""
Next
End Sub

Anzeige
AW: Text in Zellen trennen
26.06.2017 15:44:16
Peter
Hi Chris,
das ist ja suuuper.
Kann ich dir ein Bier ausgeben ?
Versuche schon seit Tagen auf einen grünen Zweig zu kommen und bin kläglich gescheitert.
Die Formatierung ist genau das was ich gesucht habe.
Ein kleines Problem ist noch aufgetaucht. das Makro bricht ab, sobald es auf eine leere Zelle trifft.
(Sind momentan 190 leere Zellen von 28507).
VG
Peter
AW: Text in Zellen trennen
26.06.2017 15:54:29
Chris
schreib mal
On Error Resume Next könnte helfen..
Sub trennen()
Dim SN As Range
Dim teile, teil
Dim antwort As String
On Error Resume Next
For Each SN In Range("A1:A28") 'Bereich hier anpassen
teile = Split(SN.Value, "#")
For Each teil In teile
teil = Left(teil, 6) & "-" & Mid(teil, 7, 4)
antwort = antwort & teil & "/"
Next
SN.Value = Left(antwort, Len(antwort) - 1)
antwort = ""
Next
End Sub

Anzeige
AW: Text in Zellen trennen
26.06.2017 16:03:44
Peter
und wie das hilft.
Perfekt.
Vielen lieben herzlichen Dank
AW: alle Varianten zeigen
26.06.2017 15:23:50
Fennek
Hallo,
mit RegEx sollte dies möglich sein, aber es wäre hifreich, wenn eine Bsp-Datei mit möglichst vielen Varianten und der gewünschten Lösung bereitgestellt würde.
mfg
AW: alle Varianten zeigen
26.06.2017 21:32:19
snb

Sub M_snb()
Selection.Replace "?#", "/"
Selection.Replace "?19999", "-19999"
End Sub

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige