Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
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

Filtern dürch Kontrollkästchen mit Makro

Filtern dürch Kontrollkästchen mit Makro
06.05.2019 13:13:36
Jonas
Guten Mittag:-),
ich bin am verzweifeln!
Ich will mit einem Kontrollkästchen und einem Makro eine Tabelle filtern. Das Filtern funktioniert irgendwie, aber dass alle Werte beim entfernen des Häckchens wieder angezeigt werden nicht.
Ich habe diesen Code in Tabelle 1 stehen
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Selection.AutoFilter Field:=1, Criteria1:="Hallo"
Else
If Sheets("Tabelle1").FilterMode Then ShowAllData
End If
End Sub
und das in einem Modul
Sub Makro1()
Selection.AutoFilter Field:=1, Criteria1:="4"
End Sub
Es klappt einfach nicht und ich weiß einfach nicht warum und bin total am verzweifeln. Über Hilfe würde ich mihc sehr arg freuen.
Grüße Jonas

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 13:34:52
Hajo_Zi
Hallo Jonas,
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue und ich baue keine Datei nach.
Gruß Hajo
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 13:42:53
Jonas
Hallo Hajo,
was meinst du damit, das verseth ich nicht so ganz. Habe ich jetzt i was falsches gepostet?
Gruß Jonas
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 13:50:16
Hajo_Zi
Hallo Jonas,
da ich nicht auf fremde Rechner schaue bin ich raus.
Gruß Hajo
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 20:20:34
Jonas
Hallo Hajo,
ich hab mal die Datei hochgeladen. Ich schaffs einfach nicht das wenn man nach dem Filtern den Hakcne weg nimmt, dass es alles wieder anzeigt. Ich hoffe du bist so gnädig und hilfst mir, scheinst es echt drauf zu haben:-)
https://www.herber.de/bbs/user/129624.xlsm
Gruß Jonas
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
07.05.2019 00:49:05
Werner
Hallo Jonas,
am einfachsten:
Rechtsklick auf dein Kontrollkästchen - Steuerelement formatieren und bei Zellvernüpfung eine Zelle auf dem Blatt angeben (kann ja außerhalb des Tabellenbereiches sein, damit man sie nicht sieht). In der Zelle wird dann WAHR (gewählt) Falsch (nicht gewählt). Die Zelle dann im Code auswerten.
Ich hab jetzt mal H1 genommen.
Sub Makro1()
With Worksheets("Tabelle1")
If .Range("H1") = True Then
.Columns(1).AutoFilter Field:=1, Criteria1:="Miau"
ElseIf .Range("H1") = False Then
.ShowAllData
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
07.05.2019 13:48:10
Jonas
Das funktioniert top ! Danke dir Werner.
Ich hab nur noch ne kleine Frage.
Wenn die zu filternde Tabelle nicht in der ersten Zelle beginnt. (also in A1). sondern beispielsweise in G5, wie kann ich denn das anpassen. Habe jetzt länger rumprobiert bekomme es aber nicht hin:-(.
könntest du mir da nochmal helfen, dass wäre klasse!.
Gruß Jonas
AW: Filtern dürch Kontrollkästchen mit Makro
07.05.2019 14:51:27
Werner
Hallo Jonas,
ganz einfach durch Angabe der Startzelle:
Sub Makro1()
With Worksheets("Tabelle1")
If .Range("H1") = True Then
.Range("G5").AutoFilter Field:=1, Criteria1:="Miau"
ElseIf .Range("H1") = False Then
.ShowAllData
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
07.05.2019 18:29:50
Jonas
Funktioniert Top, habe gerade bisschen mit größeren Tabellen rum probiert. Das klappt auch wunderbar!
Vielen Dank für deine Hilfe und dass du dir die Zeit genommen hast:-)
Schau mal den Code hab ich jetzt eingegeben und funktioniert wunderbar.
Das was ich gerne verstehen würde ist, dass ich hier vor der Range keinen Punkt habe und bei deinem Code einer ist und beides funktioniert. Wieso :-D
Public Sub Autofilter3()
With Worksheets("Tabelle1")
If .Range("H1") = True Then
Range("A4:E4").AutoFilter Field:=1, Criteria1:="Happy*"
ElseIf .Range("H1") = False Then .ShowAllData
End If
End With
Danke dir nochmal :-)
Gruß jonas
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
07.05.2019 22:07:06
Werner
Hallo Jonas,
das ist ganz einfach der Tatsache geschuldet, dass Tabbelle1 die aktive Tabelle ist.
Du mußt darauf achten, dass deine Range-Objekte immer sauber auf ein Blatt referenziert sind.
Wenn dabei ein With - End With verwendet wird, dann beziehen sich die Angabe aller Range-Objekte innerhalb des With - End With auf das Blatt, das im With angegeben wurde - aber nur dann, wenn vor den Range-Objekten ein Punkt steht.
Das bedeutet bei deinem jetzigen Code, dass alle Range-Objekte mit dem Punkt davor auf die Tabelle 1 refernziert sind. Bei deiner Filterrange ohne Punkt referenziert Excel einfach auf das gerade aktive Blatt und das kann ja durchaus ein anderes sein. Bei dir klappt es halt, weil du auf Tabelle 1 unterwegs bist.
Gruß Werner
Anzeige
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 15:21:21
Memo
Hi Jonas,
das ist eine Standardantwort von Hajo..den Satz kannst du exakt so x mal im Forum lesen..
Er will den Leuten nur sagen, dass die Datei mit hochgeladen werden sollte..denn wenn jeder hier Dateien nachbauen würde, könnte nur wenigen geholfen werden.
VG
Memo
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 15:56:39
Jonas
Danke dir für den Hinweis:-)
ich versuche das nochmal weiter, bin leider noch blutiger Anfänger, würde es aber gerne lernen und verstehen warum das nicht funktioniert.
@Hajo: würdest du mir vllt helfen wenn ich es nicht hinbekomme un die Datei hochladen würde?
Danke und Gruß jonas
AW: Filtern dürch Kontrollkästchen mit Makro
06.05.2019 13:47:49
Daniel
Hi
als erstes solltest du mal das Selection durch ein Range("...") ersetzen und dabei die Adresse der linken oberen Zelle des zu filternden Bereichs angeben.
dann ist auffällig, dass du beim Aktivieren des Filters dich auf das aktive Tabellenblatt beziehst, beim Aufheben des Filters jedoch auf die Tabelle1, du solltest hier immer mit den gleichen Tabellenblättern arbeiten.
auch vor ShowAllData muss man das Tabellenblatt hinschreiben.
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige