Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variabler Bereich für Autofilter

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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variabler Bereich für Autofilter
07.10.2021 19:53:49
Hajo_Zi
Warum nicht
Range("AA2")
Du hast doch keine Leerzeilen.
Select, Activate usw. ist in VBA zu 99,8% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
Hinweise zu select usw. Hajo-Excel.de
Hinweise zu select usw. Online-Excel.de
Hinweise zu select usw. Online-Excel.de
Der Cursor ist kein Hund, der überall rum geführt werden muss.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
GrußformelHomepage
Anzeige
AW: Variabler Bereich für Autofilter
07.10.2021 20:15:27
Daniel
Hi
gib nur die Linke obere Zelle der Tabelle an (also die Linke Zelle der Überschriftenzeile) Range("A2").Autofilter
sollte das nicht die Zeile 1 sein und sich darüber noch weitere Daten befinden oder die Überschrift mehr als eine Zeile umfassen, dann muss die Zeile direkt über dieser Zeile leer sein (kannst die Zeile ja ausblenden)
Excel sucht sich dann den Zellbereich selbst zusammen, soweit bis der Bereich von einer durchgehenen Leerzeile und Leerspalte umschlossen ist.
Fürs Sortieren müsste das dann genauso funktionieren.
bzw in gefilterten Listen sortieren ist inkonsistent, besser ist vorher in ungefilteten zu sortieren.
Gruß Daniel
Anzeige
AW: Variabler Bereich für Autofilter
07.10.2021 20:28:12
Juergen
Würde es mit den Anpassungen der fixen Range nicht gehn?

Dim uzeil As String
uzeil = ActiveWorkbook.Worksheets("Mitglieder-Datei").Cells(Rows.Count, 1).End(xlUp).Row 'evtl + 1
ActiveSheet.Range("$A$2:$AE$" & uzeil).AutoFilter Field:=27, Criteria1:="

AW: Variabler Bereich für Autofilter
08.10.2021 10:52:28
Daniel
doch, geht natürlich auch.
ist wie bei einem modernen Auto.
Man kann wenn man will selber schalten, aber auch der Automatik vertrauen.
Beides geht.
Damit die automatische Bereichserkennung wunschgemäß funktioniert, müssen halt ein paar Bedingungen erfüllt sein.
Wenn dies der Fall ist, kann man die einfachere Automatik nutzen, wenn nicht muss man es selber machen und hat etwas mehr Aufwand.
Gruß Daniel
Anzeige
AW: Variabler Bereich für Autofilter
07.10.2021 20:19:07
Daniel
Hi
gib nur die Linke obere Zelle der Tabelle an (also die Linke Zelle der Überschriftenzeile) Range("A2").Autofilter
sollte das nicht die Zeile 1 sein und sich darüber noch weitere Daten befinden oder die Überschrift mehr als eine Zeile umfassen, dann muss die Zeile direkt über dieser Zeile leer sein (kannst die Zeile ja ausblenden)
Excel sucht sich dann den Zellbereich selbst zusammen, soweit bis der Bereich von einer durchgehenen Leerzeile und Leerspalte umschlossen ist.
Fürs Sortieren müsste das dann genauso funktionieren.
bzw in gefilterten Listen sortieren ist inkonsistent, besser ist vorher in ungefilteten zu sortieren.
Gruß Daniel
Anzeige
AW: Variabler Bereich für Autofilter
07.10.2021 20:33:46
Juergen
Probiere es mal mit dieser Variante.

Sub Sortieren_Etikettendruck()
' Sortieren 1 - 32 - ohne 40 (eMail-Versand)
If Not ThisWorkbook.ActiveSheet.AutoFilterMode = True Then
ThisWorkbook.ActiveSheet.Range("A1").Autofilter
End If
Dim uzeil As String
uzeil = ActiveWorkbook.Worksheets("Mitglieder-Datei").Cells(Rows.Count, 1).End(xlUp).Row 'evtl + 1
ActiveSheet.Range("$A$2:$AE$" & uzeil).AutoFilter Field:=27, Criteria1:="

AW: Variabler Bereich für Autofilter
08.10.2021 17:20:58
Stefan
Lieber Hajo, bin halt noch ein Anfänger in Sachen VBA.
Vielen Dank an Daniel und vor allem Jürgen. Ihr habt mir sehr geholfen.
Brauche nochmal eure Hilfe. Stelle eine neue Frage ein (Nach Änderung des Wertes in Spalte AA eine neue Seite drucken) MfG Stefan
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige