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

Code von Beverly erweitern

Code von Beverly erweitern
Beverly
Hallo zusammen
Mit Zahlen und Zeichen gehts ja wunderbar!!!
Ich möchte gerne das Abfragespektrum gerne mit "größer-gleich, bzw kleiner-gleich" erweitern. Weiß jemand vielleicht die notwendigen Codezeilen
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'* 09.02.08,11.03.08,31.03.08                     *
'* erstellt von Karin, http://beverly.excelhost.de*
'* beverly@excelhost.de                           *
Dim raBereich As Range
Dim raZelle As Range            ' Variable für die Zelle als Range
'   Wirkung des Codes auf Zeile 1 der Tabelle im Filterbereich zulassen
Set raBereich = Intersect(Target, Range(Cells(3, ActiveSheet.AutoFilter.Range(1).Column), _
Cells(3, ActiveSheet.AutoFilter.Range(1).Column + ActiveSheet.AutoFilter.Filters.Count - _
1)))
'   Eingabe erfolgte im festgelegten Bereich
If Not raBereich Is Nothing Then
'       Bildschirmaktualisierung aus
Application.ScreenUpdating = False
'       Reaktion auf Eingabe abschalten
Application.EnableEvents = False
'       Schleife über alle Zellen der Zeile 1 der Tabelle
For Each raZelle In raBereich
'           Bezieht sich auf den Filterbereich
With ActiveSheet.AutoFilter.Range
'               Eingabe wurde gelöscht
If raZelle = "" Then
'                   Autofilter für das betreffende Fald zurücksetzen
.AutoFilter Field:=raZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1). _
Column
'                   in die betreffende Zelle eintragen
raZelle = "? ? ?"
Else
'                   Suchkriterium ist eine Zahl
If IsNumeric(raZelle) Then
'                       Autofilter für das betreffende Feld setzen, Filterkriterium "entspricht" _
.AutoFilter Field:=raZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1). _
Column, _
Criteria1:="=" & raZelle
'                   Suchkriterium ist ein Datum
ElseIf IsDate(raZelle) Then
'                       Autofilter für das betreffende Feld setzen
'                       es werden 2 Kriterien verwendet, weil mit Kriterium "=" das Datum nicht  _
gefiltert wird
.AutoFilter Field:=raZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1). _
Column, _
Criteria1:=">=" & raZelle.Value2, Criteria2:="
Danke im Voraus für die Mühen
Gru?
Lorenz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code von Beverly erweitern
13.09.2010 10:01:09
Beverly
Hi Lorenz,
im Prinzip ist es diese Codezeile:
                        .AutoFilter Field:=raZelle.Column + 1 - _
ActiveSheet.AutoFilter.Range(1). Column, _
Criteria1:="=" & raZelle

in welcher der Suchwert gleich gesetzt wird. Wenn du kleiner-gleich bzw. größer-gleich verwenden willst, musst du das an dieser Stelle ändern. Aus deiner Beschreibung ist nicht ersichtlich, wann welche Bedingung zutrifft.


AW: Code von Beverly erweitern
13.09.2010 12:53:01
Beverly
Hallo Karin
In meiner Beschreibung fehlt natürlich die Angabe "in raZelle" wird "" zusätzlich zur Zahl eingegeben.
Dank deiner "Kritik über Bedingung" hats bei mir gefunkt (ist mir die Lösung eingefallen). Da ich "isNumeric" nicht ändern darf (wird ja auch benötigt), habe ich zusätzlich zwei Kriterien vor "End With" wie folgt hinzugefügt.
If Left(raZelle, 1) = ">" Then .AutoFilter Field:=raZelle.Column + 1 - ActiveSheet.AutoFilter.Range(1).Column, _
Criteria1:=">=" & Mid(raZelle, 2)
If Left(raZelle, 1) = " Criteria1:=" Danke für die Hinweis(e) & Grüße
Lorenz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige