Betrifft: Reiter anhand von Daten erstellen lassen
von: F. Jordan
Geschrieben am: 27.01.2010 12:14:40
Hallo zusammen
Ich möchte aus einer Gesamtliste die Buchungskreise auslesen und filtern (hat bereits beides geklappt), danach soll anhand der Zusammenstellung automatisch ein Reiter pro Buchungskreis erstellt werden. Die Daten wurden in ein bestehendes Datenblatt einkopiert, es besteht keine Filterung mehr, nur Werte.
Basis:
1 CH
2 DE
3 FR
4 E
5 GB
usw
Ziel:
Reiter: 1 CH / 2 DE / 3 FR / usw.
Wie bringe ich das hin? Vielen Dank für Eure Hilfe!
Gruss
Frédéric
Betrifft: AW: Reiter anhand von Daten erstellen lassen
von: NoNet
Geschrieben am: 27.01.2010 12:22:54
Hallo Frédéric,
ich gehe in folgendem Code davon aus, dass die Namen der zu erstellenden Tabellenblätter im Blatt "Basis" in Spalte A untereinander stehen :
Sub TabReiterErstellen() Dim lngZ As Long On Error Resume Next 'Falls Blattname bereits existiert With Sheets("Basis") 'Name des Tabellenblattes, das die Daten in Spalte A enthält For lngZ = 1 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(lngZ, 1) <> "" Then Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Cells(lngZ, 1) End If Next .Activate End With End SubGruß, NoNet
Betrifft: AW: Reiter anhand von Daten erstellen lassen
von: F. Jordan
Geschrieben am: 27.01.2010 12:40:45
Hallo NoNet
Das hat schon mal super geklappt. Vielen Dank für die extrem rasche Hilfe!
Ein kleines Detail... kann man definieren, dass eine Zelle mit dem Wert 0 keinen Reiter erstellen soll? Wenn nein, dann muss ich das früher irgendwie rauslöschen.
Gruss
Frédéric
Betrifft: If .Cells(lngZ, 1)<>"" And .Cells(lngZ, 1)<>0 then
von: NoNet
Geschrieben am: 27.01.2010 12:45:39
Hallo Frédéric,
ergänze einfach die Abfrage entsprechend :
Sub TabReiterErstellen() Dim lngZ As Long On Error Resume Next 'Falls Blattname bereits existiert With Sheets("Basis") 'Name des Tabellenblattes, das die Daten in Spalte A enthält For lngZ = 1 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(lngZ, 1) <> "" And .Cells(lngZ, 1) <> 0 Then Sheets.Add(after:=Sheets(Sheets.Count)).Name = .Cells(lngZ, 1) End If Next .Activate End With End SubGruß, NoNet
Betrifft: AW: If .Cells(lngZ, 1)<>"" And .Cells(lngZ, 1)<>0 then
von: F. Jordan
Geschrieben am: 27.01.2010 13:38:27
Hallo NoNet
Ist der Wahnsinn. Echt, freue mich riesig. Bin durch Deine Hilfe ein grosses Stück vorwärts gekommen.
Gruss
Frédéric