Supportnet / Forum / Tabellenkalkulation
Makro: Sortieren, Filtern, Drucken
Frage
Hallo,
folgende Aufgabe: ich möchte ein Makro programmieren, um
1. eine tabelle zu sortieren,
2. in einer Spalte nach einen Wert filtern und anschließend
3. die gefilterte Tabelle drucken und
4. zum Schluß den Autofilter auflösen.
Einen ersten Versuch habe ich unten dokumentiert. Hier ist das Problem, daß ich bei 2. über ein Auswahlfeld den Autofilter bestimmen möchte. Im u.g. Makro ist dieser Wert als 37 übers Makro schreiben eingegeben worden. Ich möchte hier aber jedesmal wählen können.
Weiß jemand Rat ?
Danke
Gruß
Lutz
Sub Sortier2()
Range("A3").Select
ActiveWindow.ScrollRow = 810
Range("A3:K834").Select
Selection.Sort Key1:=Range("I4"), Order1:=xlAscending, Key2:=Range("B4") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A3").Select
Selection.AutoFilter Field:=9, Criteria1:="=37", Operator:=xlAnd
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
End Sub
Antwort 1 von coros
Nabend Lu,
hier der geänderte Code.
Nachdem das Makro gestartet wurde, erscheint ein Eingabefeld, in dem der Wert oder Begriff eingegeben werden kann. Das geschieht mit den Zeilen
Dim Kriterium As String
Kriterium = InputBox("Bitte den zu Filternden Begriff eingeben", "Eingabefenster")
Der einegebene Wert oder Begriff wird dann als Kriterium in die Zeile
Selection.AutoFilter Field:=9, Criteria1:=Kriterium, Operator:=xlAnd
eingefügt.
Ich hoffe, das ist, was Du wolltest. Wenn dem nicht so ist oder bei Fragen, melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
hier der geänderte Code.
Sub Sortier2()
Dim Kriterium As String
Kriterium = InputBox("Bitte den zu Filternden Begriff eingeben", "Eingabefenster")
Range("A3").Select
ActiveWindow.ScrollRow = 810
Range("A3:K834").Select
Selection.Sort Key1:=Range("I4"), Order1:=xlAscending, Key2:=Range("B4") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A3").Select
Selection.AutoFilter Field:=9, Criteria1:=Kriterium, Operator:=xlAnd
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
End Sub
Nachdem das Makro gestartet wurde, erscheint ein Eingabefeld, in dem der Wert oder Begriff eingegeben werden kann. Das geschieht mit den Zeilen
Dim Kriterium As String
Kriterium = InputBox("Bitte den zu Filternden Begriff eingeben", "Eingabefenster")
Der einegebene Wert oder Begriff wird dann als Kriterium in die Zeile
Selection.AutoFilter Field:=9, Criteria1:=Kriterium, Operator:=xlAnd
eingefügt.
Ich hoffe, das ist, was Du wolltest. Wenn dem nicht so ist oder bei Fragen, melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Lu13
Hallo Coros,
Danke für die Hilfe !!
Funxt bestens !!
Gruß
Lutz
Danke für die Hilfe !!
Funxt bestens !!
Gruß
Lutz
Antwort 3 von coros
Hi Lutz,
freut mich, das alles funktioniert. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
freut mich, das alles funktioniert. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

