Supportnet Computer
Planet of Tech

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.

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

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.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: