Hallo hätte 2 Fragen:
Ich erstelle gerade einen automatischen Tischplan. Die Idee ist, eine Anmeldeliste mit Leuten zu haben, auf der man jeder Person manuell einen Tisch zuteilt... dann drückt man einen Button und es werden verschiedene PDF erstellt. Dafür sollen im ersten Schritt automatisch alle Leute mit der gleichen Tischnummer unter der jeweiligen Tischtabelle aufgeführt werden. Habe dazu folgenden Code aus dem Internet geholt und angepasst:
Sub Gästeverteilen_Kopierenwenn()
Dim variable As String
variable = [A1]
With Sheets(variable).UsedRange
.AutoFilter Field:=5, Criteria1:="Tisch 1"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("Tischverteilung").Range("A4").PasteSpecial xlPasteValues
Sheets(variable).UsedRange.AutoFilter
With Sheets(variable).UsedRange
.AutoFilter Field:=5, Criteria1:="Tisch 2"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("Tischverteilung").Range("A15").PasteSpecial xlPasteValues
Sheets(variable).UsedRange.AutoFilter
usw...
End Sub
Hatte angefangen den Bereich zwischen Dim und End Sub immer wieder zu kopieren und das Kriterium zum jeweiligen Tisch, und die Range anzupassen.. aber da wir bis zu 30 Tische haben, wurde mir das jetzt zu blöd und unübersichtlich... gibt es da eine Formel, die das automatisch macht? Das Kriterium soll einfach immer eine Nummer nach oben gehen (Tisch 1, Tisch 2, Tisch 3 etc) bis z.B. 30, die Range soll immer exakt 11 Felder später wieder starten, da jeder Tisch nur 10 Plätze hat (Überschrift + 10 freie Felder = 11 Felder).
Frage 2:
Gibt es eine Möglichkeit, eine Sicherung einzubauen, die eine Warnung ausgibt oder den Befehl stoppt, falls man aus Versehen mehr als 10 Leute einem Tisch zugeordnet hat? Denn wenn man in der Anmeldung mehr als 10 Leuten Tisch 1 zugeteilt hat, wird der Befehl die ganze Tischtabelle ja durcheinanderbringen, da die Range kein Ende hat oder? hatte es per Eingrenzung .Range("A1:A10") versucht. Doch das bringt das Problem mit sich, dass wenn z.B. nur 3 Leute an einem Tisch sind, der Bereich so oft mit den Leuten befüllt wird, bis er voll ist.. dann sitzen an dem Tisch mehrfach die gleichen Leute...
Danke schon einmal im Voraus! :)
|