Variabler Bereich für Autofilter
07.10.2021 19:50:55
Stefan
Die
Sub Sortieren für Etikettendruck funktioniert soweit.
Problem: Wenn die Mitgliederdate durch neue Mitglieder größer wird, funktioniert der
absolute Bezug des Makros natürlich nicht mehr. Wie kann man den Bezug an die
neue Größe der Datei anpassen? Bitte um euere Hilfe. MfG Stefan
Sub Sortieren_Etikettendruck()
' Sortieren 1 - 32 - ohne 40 (eMail-Versand)
If Not ThisWorkbook.ActiveSheet.AutoFilterMode = True Then
ThisWorkbook.ActiveSheet.Range("A1").Autofilter
End If
ActiveSheet.Range("$A$2:$AE$577").Autofilter Field:=27, Criteria1:="
ActiveWorkbook.Worksheets("Mitglieder-Datei").Autofilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Mitglieder-Datei").Autofilter.Sort.SortFields.Add2 _
Key:=Range("AA2:AA577"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Mitglieder-Datei").Autofilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' Kopieren der gefilterten Liste und umbenennen in Etikettendruck
Range("a2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
Columns("J:J").EntireColumn.AutoFit
Columns("L:L").EntireColumn.AutoFit
Rows("2:2").Select
With ActiveWindow
.SplitColumn = 0
.SplitRow = 1
End With
ActiveWindow.FreezePanes = True
Rows("3:" & Rows.Count).Select
With Selection.Interior
.PatternThemeColor = xlThemeColorAccent1
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("AA1").Select
Call Datei_für_Etikettendruck_schon_da
ActiveSheet.Name = "Datei für Etikettendruck"
Sheets("Mitglieder-Datei").Select
Range("A3").Select
Selection.Autofilter
'Sheets("Mitglieder-Datei").Protect
MsgBox "Achtung" & Chr(13) & "Die gefilterten Daten wurden in ein neues Tabellenblatt kopiert" _
& "und stehen im Tabellenblatt" & Chr(13) & Chr(13) & "Datei für Etikettendruck" & Chr(13) & Chr(13) & "zur Verfügung", vbCritical + vbOKOnly
End Sub