Anzeige
Archiv - Navigation
1120to1124
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

Bei Doppelklick in Zelle/Spalte Autofiltern

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:=" 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:=" Exit Sub
Case Else
Exit Sub
End Select
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bei Doppelklick in Zelle/Spalte Autofiltern
03.12.2009 13:41:06
fcs
Hallo Doppelklicker,
das folgende Makro im VBA-Editor unter der Tabelle "Auftrag" einfügen.
Gruß
Franz
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim wks As Worksheet, Usereingabe
Set wks = Me
Select Case Target.Column
Case 2, 3 'Autofilter ausführen bei Doppelklick in Spalten B oder C
With wks
'prüfen ob Autofilter gesetzt und ggf. alle Daten anzeigen
If .FilterMode = True Then
.ShowAllData
End If
Usereingabe = InputBox("Maximaler Wert?", "Suche nach", 1, vbOKCancel)
If Usereingabe  "" Then
Cancel = True 'Zelle nicht zum Bearbeiten selektieren
'Filterbereich A2:Jxxx
With .Range(.Cells(2, 1), .Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row, 10))
.AutoFilter 'schaltet ggf. einen vorhandenen Autofilter aus
'Autofilter neu aufbauen
.AutoFilter Field:=10, Criteria1:="x" 'Spalte J filtern
.AutoFilter Field:=Target.Column, Criteria1:="

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige