Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1180to1184
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

text in zeile

text in zeile
migo
Hallo
Ich habe folgendes Problem.
Ich möchte eine Exceltabelle bearbeiten die folgenden Aufbau hat.
Spalte A: Name
Spalte B: Vorname
Spalte C: Geburtsdatum
Spalte D: DatumVerkauf
Spalte E: Position
das Problem besteht darin,dass die Spalte E einText mit mehreren Positionsnummern ist:
z.B.: 1234,1245,4231,4321d
Jetzt sollte dieser Text in die einzelnen Positionsnummern getrennt werden. jedoch nicht in eine neue Spalte sondern in eine neue Zeile. Dabei soll der entsprechende Name,Vorname.... auch in die neuen Zeilen kopiert werden. Damit ich die Tabelle weiterverarbeiten kann sollte die Spalte E als Zahl definiert sein.
da es auch Ziffern mit einem Buchstabenanhang gibt (z.B.4321d) müssten diese Buchstaben zunächst entfernt werden.
Ich denke dass das in vba möglich ist. leier reichen meine Kenntnisse dfür nicht aus.
für Hilfe bedanke ich mich schon mal hier
migo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: text in zeile
09.10.2010 14:25:28
Tino
Hallo,
wenn ich Dich richtig verstanden habe, müsste es so funktionieren.
Sub Daten_Aufteilen()
Dim ArrayData(), ArrayPos, ArraySplit_Pos
Dim MaxRow As Long
Dim nC As Long, nCC As Long
Dim Regex As Object, strText$

'Tabelle anpassen 
With Tabelle1
    'letzte Zeile bestimmen 
    MaxRow = .Cells(.Rows.Count, 1).End(xlUp).Row
    'letzte Zeile ist Überschrift? Abbrechen! 
    If MaxRow < 2 Then Exit Sub
    'Daten Spalte A bis D in einem Array speichern 
    ArrayData = .Range("A2", .Cells(MaxRow, 4)).Value2
    'Positionen in einem Array speichern 
    ArrayPos = .Range("E2", .Cells(MaxRow, 5))
    'Regexp zum entfernen von Text initialisieren 
    Set Regex = CreateObject("Vbscript.Regexp")
    
    With Regex
       .IgnoreCase = True
       .MultiLine = True
       .Pattern = "[a-z äüöß]+"
       .Global = True
    End With
    
    MaxRow = 2 'erste Einfügezeile 
    
    For nC = 1 To Ubound(ArrayData)
        ArrayPos(nC, 1) = Regex.Replace(ArrayPos(nC, 1), "") 'Text entfernen 
        ArraySplit_Pos = Split(ArrayPos(nC, 1), ",") 'Text Splitten 
        
        'Daten von Spalte A bis D schreiben 
        For nCC = 1 To 4
            .Cells(MaxRow, nCC).Resize(Ubound(ArraySplit_Pos) + 1, 1) = ArrayData(nC, nCC)
        Next nCC
        'Positionen schreiben in Spalte E 
        .Cells(MaxRow, 5).Resize(Ubound(ArraySplit_Pos) + 1, 1) = Application.Transpose(ArraySplit_Pos)
        'nächste Zeile bestimmen 
        MaxRow = MaxRow + Ubound(ArraySplit_Pos) + 1
    Next nC
    
End With

End Sub
Gruß Tino
Anzeige
AW: text in zeile
09.10.2010 16:35:03
migo
Hallo Tino
das ist ja Wahnsinn hier.habe erstmals ein Problem geschildert und so schnell eine Antwort. allein dafür ein super und besten dank.
leider gibt es bei mir noch ein problem. es gibt eine Fehlermeldung.
ich lade mal eine test.xls datei hoch.
https://www.herber.de/bbs/user/71830.xls
Tabelle 1 zeigt 2 zeilen (von mehreren hunderten) in dem format wie ich sie vorgelegt bekommen habe.
Tabelle 2 das Format wie ich es brauche.
Wäre toll wenn du dir das noch mal angucken könntest.
danke
migo
AW: text in zeile
09.10.2010 17:52:10
Tino
Hallo,
ok., so war es aus Deiner Frage nicht ersichtlich gewesen.
Versuche es mal mit dieser Version.
https://www.herber.de/bbs/user/71832.xls
Gruß Tino
Anzeige
AW: text in zeile
09.10.2010 19:13:34
migo
hallo tino
es klappt.
normalerweise arbeite ich mit dem mac und office 2003. dort gab es ein problem mit assaydata.
auf dem pc unter 2007 klappt es.
besten besten dank.
migo
P.S.: Tino,kann man dir innerhalb herber.de eine email schicken oder auf anderem weg?
AW: text in zeile
09.10.2010 19:50:44
Tino
Hallo,
habe keinen Apple und habe auch noch nie einen gehabt, daher kann ich dazu nichts beisteuern, sorry.
"Tino,kann man dir innerhalb herber.de eine email schicken oder auf anderem weg?"
Ja kann man, zu finden in der Profilliste.
Oder Du schreibst hier einen Beitrag, da ich fast täglich hier reinschaue finde ich diesen bestimmt.
Gruß Tino
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige