Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Text aufgleidern anch Textimport

Text aufgleidern anch Textimport
08.03.2007 09:08:00
Benstöm
Hallo,
nun mal etwas für die Profis unter euch.
Ich bekomme nach einem Textimport folgende Datensätze ins Excel:
Achim Altschaeffl/2/598/BBK/DE
Achim Ehresmann/DV3/DV/504/BBK/DE
Achim Held/IT/HO/498/BBK/DE
Achim Klier/RZ/698/BBK/DE
Adelheid Rothfuss/2/598/BBK/DE
Adelheid Woldorf/380/498/BBK/DE
Adrian Blackert/6/598/BBK/DE
Ich möchte nun das in der Spalte 1 der Vorname steht
Spalte 2 der Nachname
dann soll jedoch von rechts sortiert werden und zwar in der ganz rechten Spalte immer das DE
links daneben das BBK
dann immer die Zahl z.B. 598, 498, 504 usw
und links davon die anderen Aufteilung bis mann zu der Spalte Nachname kommt
Achim Altschaeffl 2 598 BBK DE
Achim Ehresmann DV3 DV 504 BBK DE
Achim Held IT HO 498 BBK DE
Achim Klier RZ 698 BBK DE
Adelheid Rothfuss 2 598 BBK DE
Adelheid Woldorf 380 498 BBK DE
Adrian Blackert 6 598 BBK DE
zum Beispiel so.
Userbild
Es wäre fantastisch wenn ihr Profis mir da helfen könnt. Mir fehlt absolut die Idee wie ich das anstellen soll.
ggf. bis gleich
liebe Grüße
Benny

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aufgleidern anch Textimport
08.03.2007 09:37:00
jockel
hi Benny, hast du schon mal an Daten --> Text in Spalten Trennzeichen "/" gedacht?
cu jörg
AW: Text aufgleidern anch Textimport
08.03.2007 09:47:30
Benstöm
Hallo Jörg,
danke für den Tipp, aber du hast leider meine Anfrage nur halbherzig gelesen. Die Spalten die ich exportiere sind leider nicht gleich viel. Ich möchte das von links der Vorname und Nachname und dann den Rest von rechts gegleidert bekommen (s. auch beigefügt Abbidlung). Sonst hätte ich (s. 1. und 2. Datensatz) DV3 und die 2 in einer Spalte und das wäre Falsch.
Trotzdem vielen Dank für deine Mühe.
Gruß
Benny
AW: Text aufgleidern anch Textimport
08.03.2007 10:15:00
Heiko
Hallo Jörg,
wenn die Daten so wie in deinem Beispiel auf dem aktiven Tabellenblatt stehen, dann sollte dieses Makro helfen. Geht sicher noch eleganter aber ich muss nun erstmal was tun.
Sub Aufteilen()
Dim lngLastRow As Long, lngI As Long, lngN As Long, lngDiff As Long
Dim strHelp As String
Dim varHelp
lngLastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
For lngI = 1 To lngLastRow
strHelp = ActiveSheet.Cells(lngI, 1)
varHelp = Split(Replace(strHelp, " ", "/"), "/")
ActiveSheet.Cells(lngI, 1) = varHelp(0)
ActiveSheet.Cells(lngI, 2) = varHelp(1)
lngDiff = 6 - UBound(varHelp)
For lngN = UBound(varHelp) To 2 Step -1
ActiveSheet.Cells(lngI, lngN + lngDiff + 1) = varHelp(lngN)
Next lngN
Next lngI
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
danke Heiko...
08.03.2007 10:24:04
jockel
..., aber ich war nicht der nachfrager...
cu jörg
AW: Text aufgleidern anch Textimport
08.03.2007 10:49:00
Benstöm
Hallo Heiko,
vielen Dank für deine professionelle Rückantwort. Gibt es eine Möglichkeit die Spalten die von Rechts gegliedert werden als Variable zu definieren.
Es könnte ja sein das bei dem nächsten Download durchaus mehrere Spalten von Rechts gegliedert werden müssten.
Vielen Dank für deine Mühe.
Gruß
Benny
AW: Text aufgleidern anch Textimport
08.03.2007 11:58:00
Heiko
Hallo Beny,
vielleicht so ?!
Sub Aufteilen()
Dim lngI As Long, lngN As Long, lngDiff As Long, lngMax As Long
Dim varHelp
lngMax = 0
With ActiveSheet
' maximale Spaltenanzahl ermitteln
For lngI = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
varHelp = Split(Replace(.Cells(lngI, 1), " ", "/"), "/")
If lngMax < UBound(varHelp) Then
lngMax = UBound(varHelp)
End If
Next lngI
' Aufteilen
For lngI = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
varHelp = Split(Replace(.Cells(lngI, 1), " ", "/"), "/")
.Cells(lngI, 1) = varHelp(0)
.Cells(lngI, 2) = varHelp(1)
lngDiff = lngMax - UBound(varHelp)
For lngN = UBound(varHelp) To 2 Step -1
.Cells(lngI, lngN + lngDiff + 1) = varHelp(lngN)
Next lngN
Next lngI
End With
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Text aufgleidern anch Textimport
08.03.2007 13:51:00
Benstöm
Hallo Heiko,
sry habe doch noch etwas vergessen. Habe einige User die einen Dr. oder auch andere Titel tragen. Dem entsprechend muss ich von Linke nicht nur den Vor- und Nachnamen haben sondern auch ggf. irgend welche Titel (dr., Prof. Dr. usw.).
Kannst du das auch per Makro abbilden.
viele Grüße
Benny
AW: Text aufgleidern anch Textimport
08.03.2007 14:48:43
Heiko
Hallo Benny,
ja ist das denn hier ein Wunschkonzert ?! Die nächste Änderung kostet Geld ;-)
Sub AufteilenNeu()
Dim lngI As Long, lngN As Long, lngDiff As Long, lngMax As Long
Dim varHelp
lngMax = 0
With ActiveSheet
' maximale Spaltenanzahl ermitteln
For lngI = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
varHelp = Split(.Cells(lngI, 1), "/")
If lngMax < UBound(varHelp) Then
lngMax = UBound(varHelp)
End If
Next lngI
lngMax = lngMax + 1
' Aufteilen
For lngI = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
varHelp = Split(.Cells(lngI, 1), "/")
.Cells(lngI, 1) = Left(varHelp(0), InStrRev(varHelp(0), " ") - 1)
.Cells(lngI, 2) = Right(varHelp(0), Len(varHelp(0)) - InStrRev(varHelp(0), " "))
lngDiff = lngMax - UBound(varHelp)
For lngN = UBound(varHelp) To 1 Step -1
.Cells(lngI, lngN + lngDiff + 1) = varHelp(lngN)
Next lngN
Next lngI
End With
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Text aufgleidern anch Textimport
08.03.2007 14:55:19
Benstöm
Hallo Heiko,
vielen Dank, du scheinst ja echt fit zu sein. Was möchtest du mir denn zahlen damit ich deine Gehirnzellen weiter strapaziere, Smile.
Jetzt sind wir ja schon fast am Ende. Können wir denn die ganzen Titel auch per Makro in einer eigenen Spalte setzen?
Es wäre super wenn du das Makro ein wenig kommentieren würdest, dann könnte ich es vielleicht auch selbst modifizieren.
PS. Ich schulde dir ein Altbier.
Grüße aus Düsseldorf
Benny
AW: Text aufgleidern anch Textimport
08.03.2007 15:05:02
Heiko
Hallo Benny,
da wird es jetzt kompliziert, denn wie können deine Namen aussehen.
Dr. Ing. Michael Klaus Meier
Dr.-Ing. Michael-Klaus Meier
oder
Maria Sabine Muster-Schulte
Maria-Sabine Muster Schulte
Diese 2 Beispiele sollen zeigen, wie soll da Makro erkennen was ist der Titel was ist der Vorname was ist der Nachname. Das ist erheblich komplizierter wie es auf den 1. Blick scheine mag, da die leerzeichen die Trennzeichen sind, aber wo hört der Titel auf und wo fängt der Vorname oder Nachname an.
Wenn es sicher ist das der Titel immer zusammenhängend also (Dr.-Ing oder Prof.Dr ...) ist. Dann ein Leerzeichen kommt, dann der Vorname (auch immer zusammenhängend also Maria-Sabine oder Klaus-Uwe ...). Und wieder ein Leerzeichen und als letztes der Nachname (auch wieder zusammenhängend also Muster-Man oder Meier-Schulte ...) dann würde noch was gehen.
Kommentare, nö. Das ist Arbeit und macht keinen Spaß mehr ;-)
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Text aufgleidern anch Textimport
09.03.2007 07:50:00
Benstöm
Hallo Heiko,
du hast vollkommen Recht. Eine weitere Aufgliederung nach Titel und dergleichen würde hier den Rahmen sprengen und ist auch technisch überhaupt nicht abbildbar.
Nochmals vielen Dank für deine umfassende Unterstützung.
Grüße
Benny
AW: Text aufgleidern anch Textimport
08.03.2007 12:39:04
Benstöm
Hallo Heiko,
echt super das Makro, vielen Dank dafür.
Gruß
Benny

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige