Bei Doppelklick in Zelle/Spalte Autofiltern
Doppelklicker
Hallo liebe Excelgemeinde,
ich hätte ein kleines Attentat auf euch vor.
ich wünsche mir von euch den VB-Quellcode für die Lösung des nachfolgenden Wunsches:
ich möchte das per Doppelklick auf einer Zelle in Spalte B des Excelblattes "Auftrag" (gibt mehrere Blätter in der Datei, jedoch soll dies nur in diesen Blatt ausgeführt werden)
eine Userabfrage nach einer Zahl erfolgt
>>>> "Usereingabe = InputBox("Maximale Wert?", "Suche nach", 1, vbOKCancel)"
und dann ein Autofilter über den Bereich A2:J2 erfolgen.
>>> "Range("A2:J2").Select"
dieser Autofilter soll dann für Spalte J nur die Datensätze mit X filtern.
>>> "Selection.AutoFilter Field:=10, Criteria1:="x""
und für Spalte B soll alles angezeigt werden, was kleiner oder gleich der Usereingabe ist.
>>> "AutoFilter Field:=4, Criteria1:="<=" & Usereingabe, Operator:=xlAnd"
Doppelklickt man in eine Zelle der Spalte C, soll selbiges Makro ausgeführt werden, nur dass dann
der Autofilter verschwindet und neu aufgebaut wird mit selbiger Funktion wie für Spalte B nur dann halt für Spalte C (incl. den vorfilter für Spalte J) erfolgt.
Angefangen und bischen aufgezeichnet hab ich folgendes (aber ist halt fehlerhaft und noch sicherlich nicht optimiert)
Stolperstein war auch immer mal der Autofilter (mal gesetzt, mal nicht gesetzt, mal nicht vorhanden)
So wer kann mir nun helfen und das Ding mal korrigieren/optimieren?
Versuch:
Private Sub Workbook_Open()
DoppelklickerAktiv
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Sub DoppelklickerAktiv()
Sheets("Auftrag").OnDoubleClick = "Doppelklicker"
End Sub
Sub Doppelklicker()
Set MyShell = CreateObject("WScript.Shell")
Usereingabe = InputBox("Maximaler Wert?", "Suche nach", 1, vbOKCancel)
If ActiveSheet.Name = "Aufträge" Then
Select Case Target.Column
Case 2
Range("A2:J2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=9, Criteria1:="x"
Selection.AutoFilter Field:=4, Criteria1:="<=" & Usereingabe, Operator:=xlAnd
Exit Sub
Case Else
Exit Sub
End Select
End If
End Sub