Makro gesucht: Tabellenblätter automatisch mit bestimmten Daten füllen

09/07/2008 - 08:33 von thomas müller | Report spam
Hallo,

ich suche in 2007 nach einer Möglichkeit folgendes Szenario abzubilden:

In Tabellenblatt Total stehen ca. 10000 Zeilen. 1. Zeile ist eine Kopfzeile

In z.B. Spalte A stehen Zahlen. Jede Zahl ist einem Gebàude zugeordnet
(z.B. 1 Geb. A, 2 Geb. B, etc.).

Ich suche nun eine Möglichkeit zu überprüfen ob es auf Blatt Total in
Spalte A eine bestimmte Anzahl von XY 1ern, 2ern, 3ern, etc. gibt.

Wenn die gesuchten Werte mehr als XY mal vorhanden sind sollen alle
Zeilen mit 1ern (einschließlich Kopfzeile)auf ein neues Blatt kopiert
werden und das Blatt soll den Namen des gesuchten Wertes bekommen, also
1, 2, 3, etc.

Das soll sich solange wiederholen, bis alle Werte in Spalte A auf
separate Blàtter aufgeteilt sind...

Ich hoffe ich konnte es einigermaßen rüberbringen.

Hat jemand da eine Idee?

Danke

thomas
 

Lesen sie die antworten

#1 stefan onken
09/07/2008 - 15:49 | Warnen spam
hallo Thomas,
teste dieses Makro mit einer KOPIE deiner Datei.
Als Untergrenze zum erstellen einer neuen Tabelle ist hier eine Anzahl von
5, wobei auch die Überschriftzeile mit berücksichtigt werden muss (deshalb
=6).



Sub Aufteilen()
Application.ScreenUpdating = False
With Sheets("Total")
.AutoFilterMode = False
lastrow = .UsedRange.Rows.Count
Sheets.Add.Name = "Unikate"
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("A1"), Unique:=True
For i = 2 To Sheets("Unikate").UsedRange.Rows.Count
crit = Sheets("Unikate").Range("A" & i).Value
.Range("A1").AutoFilter Field:=1, Criteria1:=crit
If WorksheetFunction.Subtotal(3, .Range("A:A")) >= 6 Then
'Untergrenze +1 wg. Überschrift
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = crit
.Cells.SpecialCells(xlCellTypeVisible).Copy
ActiveSheet.Paste
End If
Next
.Activate
.AutoFilterMode = False
End With
Application.DisplayAlerts = False
Sheets("Unikate").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Gruß
stefan



"thomas müller" schrieb:

Hallo,

ich suche in 2007 nach einer Möglichkeit folgendes Szenario abzubilden:

In Tabellenblatt Total stehen ca. 10000 Zeilen. 1. Zeile ist eine Kopfzeile

In z.B. Spalte A stehen Zahlen. Jede Zahl ist einem Gebàude zugeordnet
(z.B. 1 Geb. A, 2 Geb. B, etc.).

Ich suche nun eine Möglichkeit zu überprüfen ob es auf Blatt Total in
Spalte A eine bestimmte Anzahl von XY 1ern, 2ern, 3ern, etc. gibt.

Wenn die gesuchten Werte mehr als XY mal vorhanden sind sollen alle
Zeilen mit 1ern (einschließlich Kopfzeile)auf ein neues Blatt kopiert
werden und das Blatt soll den Namen des gesuchten Wertes bekommen, also
1, 2, 3, etc.

Das soll sich solange wiederholen, bis alle Werte in Spalte A auf
separate Blàtter aufgeteilt sind...

Ich hoffe ich konnte es einigermaßen rüberbringen.

Hat jemand da eine Idee?

Danke

thomas

Ähnliche fragen