Microsoft Excel

Herbers Excel/VBA-Archiv

Liste splitten

Betrifft: Liste splitten von: Robi
Geschrieben am: 06.11.2007 10:30:29

Hallo Leute,

ich stehe vor einem Problem und brauche Hilfe.
Ich habe eine Liste mit ca. 500 Zeilen und 15 Spalten (A bis O)
Jede Zeile repräsentiert ein Teil (Spalte A = Bennenung, Spalte B = Teilenummer usw.)
In Spalte G steht die Kategorienummer (= K.Nr.) des Teils.
Ich brauche nun ein Makro das für jede K.Nr. ein Tabellenblatt erstellt, dieses nach der K.Nr. benennt und alle Teile (ganze Zeile) in dieses Tabellenblatt kopiert.

Ich hab also am Anfang ein Tabellenblatt mit der kommpletten Liste mit 500 Teilen. Nach Ausführung des Makros hab ich insgesamt 4 Tabellenblatter. 1 mal die gesamte Liste und dann geplittet nach K.Nr.
Aber es kann auch vorkommen das nur 2 K.Nr. vorkommen, in dem Fall müsste das Makro dies erkennen und dementsprechend nur 2 neue TB generieren.

Wäre echt gut wenn mir jemand helfen könnte
Danke

  

Betrifft: AW: Liste splitten von: Tino
Geschrieben am: 06.11.2007 11:30:22

Hallo,
lade mal eine Beispielmappe und ich schaue mir dass mal an.

Gruss
Tino


  

Betrifft: AW: Liste splitten von: Robi
Geschrieben am: 06.11.2007 14:01:39

hi Tino,
hier ist Bsp-Tabelle.
Hoffentlich ist es verständlich was ich meine

https://www.herber.de/bbs/user/47456.xls


  

Betrifft: AW: Liste splitten von: Tino
Geschrieben am: 06.11.2007 14:54:37

Hallo,
teste mal ob dies so funktioniert wie du es dir vorstellst, drücke in Gesamt auf den Butten.
Sind die besagten Tabellen schon vorhanden werden diese auch benutzt, sind sie nicht vorhanden werden sie Erstellt.

https://www.herber.de/bbs/user/47458.xls

Gruss
Tino


  

Betrifft: AW: Liste splitten von: Robi
Geschrieben am: 07.11.2007 14:24:01

hi Tino,
erstmal Dankeschön für Deine Hilfe aber
bei mir kommt ne Fehlermeldung:



DataOption1:=xlSortNormal Variable nicht defeniert

hat das Makro bei dir funktioniert?


  

Betrifft: AW: Liste splitten von: Tino
Geschrieben am: 07.11.2007 15:46:50

Hallo,
ja

Gruss
Tino


  

Betrifft: AW: Liste splitten von: Daniel
Geschrieben am: 07.11.2007 23:34:11

Hi
deine Excelversion kennt DataOption1:=xlSortNormal nicht als Parameter beim Sortieren.
das gibts erst ab Excel XP.
den Parameter einfach löschen, dann sollte es funktionieren.

Gruß, Daniel


  

Betrifft: AW: Liste splitten von: Daniel
Geschrieben am: 06.11.2007 22:04:33

Hi
hier ne andere Möglichkeit, die Tabelle in mehrere Blätte aufzusplitten.
kleiner Unterschied zu Tinos Variante ist, daß die Reihenfolge in der Gesamtliste nicht verändert wird.

Sub Aufteilen()
Dim spUKZ As Long
Dim shQ As Worksheet
Dim arrKat, Kat

Application.ScreenUpdating = False
Set shQ = Sheets("Gesamt")
spUKZ = 5 'für die Beispieldatei, bei dir im Original muß hier 7 stehen (entspricht Spalte G)

With shQ
.Columns(spUKZ).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Cells(1, 255), Unique:=True
.Columns(255).Sort key1:=.Cells(2, 255), order1:=xlDescending, header:=xlYes
arrKat = Range(.Cells(2, 255), .Cells(65536, 255).End(xlUp))
.Columns(255).Delete
End With

For Each Kat In arrKat
    Sheets.Add after:=shQ
    With ActiveSheet
        .Name = Kat
        shQ.UsedRange.Copy Destination:=.Cells(1, 1)
        .UsedRange.Sort key1:=.Cells(2, spUKZ), order1:=xlAscending, header:=xlYes
        .Cells(1, 1).AutoFilter field:=spUKZ, Criteria1:="<>" & Kat
        .UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        .Cells(1, 1).AutoFilter
    End With
Next
shQ.Select
Application.ScreenUpdating = True

End Sub




Gruß, Daniel


  

Betrifft: AW: Liste splitten von: Robi
Geschrieben am: 07.11.2007 14:28:48

hi daniel, Vielen Dank für Deine Hilfe.

Dein Makro funzt einwandfrei, werd mich mit dem Code bissl beschäftigen um zu verstehen wie er genau funktioniert,
könnte sein das ich vieleicht noch die ein oder andere Frage dazu habe.

Danke, du hast mir sehr geholfen

Gruss


 

Beiträge aus den Excel-Beispielen zum Thema "Liste splitten"