Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1068to1072
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

Filterung begrenzen

Filterung begrenzen
26.04.2009 11:40:42
Kurt
Guten Morgen,
Tino hatte mich gestern mit seinem Beispiel sehr unterstützt.
If A = 5 Then
FilterKrit = "216"
Nun bräuchte ich nur noch einige Beispiele der Filterungsmöglichkeiten:
Ich habe folgende Zahlen möglichkeiten,
231.0431
231.153
231.345
ich möchte gern folgendes filtern:
231.0 bis 231.3
oder 231.0 allein
oder 231.3 allein
vielen Dank im voraus für ein Beispiel,
mfg kurt aus k

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterung begrenzen
26.04.2009 12:46:47
Christian
Hallo Kurt,
einfach im Autofilter - Benutzdefiniert deine Kriterien eingeben.
Gruß
Christian
AW: Filterung begrenzen
26.04.2009 13:54:43
Kurt
Hallo Christian,
ich brauch das ja für mein Makro,
mfg kurt aus k
AW: Filterung begrenzen
26.04.2009 12:48:25
Daniel
Hi
für den Autofilter gibt es ja auch die einstellungsmöglichkeit "Beginnt mit", damit könntest du die Filterprobleme "231.0 allein" und "231.3 allein" lösen.
Wie sich das "Beginnt mit" im Code auswirkt, kannst du einfach rausfinden, wenn du mal von Hand danach filterst und den Makrorekorder dabei mitlaufen lässt.
schwieriger wirds, mit dem von - bis zu filtern.
das geht nicht, wenn deine Filterkriterien Texte sind.
solltest du allerdings (ggf in einer Hilfsspalte) die zu filternden Werte in Zahlen umwandeln können, dann könntest du des folgendermassen einsetzen können:
die Werte in der zu filternden Spalte (als Zahl):
2310431
2311530
2313450
1. Filterkriterium ">=2310000"
2. Filterkriterium " bei der Umsetzung in Code hilft dir wieder der Makrorecorder
(aber bitte nicht den aufgezeichneten Code einfach nur kopieren, sondern anschauen, wie der Befehl richtig verwendet wird und in den eigen Code entsprechend optimiert (kein Select!) einbauen)
Gruß, Daniel
Anzeige
AW: Filterung begrenzen
26.04.2009 13:56:24
Kurt
Hallo Daniel,
danke für die Tips,
mfg kurt aus k
AW: Filterung begrenzen
26.04.2009 12:56:58
Tino
Hallo,
das geht in etwa so.
Verwende zwei Filterkriterien und im Autofilter diese entsprechend einsetzen.

Dim FilterKrit1 As String, FilterKrit2 As String
FilterKrit1 = "231.0"
FilterKrit2 = "231.3"
FilterBereich.AutoFilter 13, ">=" & FilterKrit1, xlAnd, "


Gruß Tino

Beispiele...
26.04.2009 13:23:32
Tino
Hallo,
hier mal ein bar Beispiele wie man diese Bedingungen erschlagen könnte.
Gilt aber jetzt nur für Zahlen, nicht für Text.
'Beispiel liegt zwischen
FilterKrit1 = "231.0"
FilterKrit2 = "231.3"
'Beispiel ist gleich
FilterKrit1 = "21601"
FilterKrit2 = "21601"
'Beispiel ist größer oder gleich
FilterKrit1 = "21603"
FilterKrit2 = 10 ^ 307
'Beispiel ist kleiner oder gleich
FilterKrit1 = 10 ^ -307
FilterKrit2 = "21604"
'in Verbindung mit dieser Filtersyntax
FilterBereich.AutoFilter 13, ">=" & FilterKrit1, xlAnd, " Gruß Tino
Anzeige
Danke an Tino, Daniel u. Christian -)
26.04.2009 14:00:18
Kurt
Hallo Zusammen,
danke für die Unterstützung, werde es jetzt mal versuchen.
mfg kurt aus k
Leider keine Reaktion
26.04.2009 14:37:02
Kurt
Hallo Tino,
leider reagiert nichts, könntest Du mal schauen?

Private Sub CommandButton2_Click()
Dim A As Long
Dim FilterBereich As Range
Dim FilterKrit As String
Dim FilterKrit1 As String, FilterKrit2 As String
'Application.ScreenUpdating = False
With ActiveSheet
Set FilterBereich = .Range("A5:AC" & Cells.SpecialCells(xlCellTypeLastCell).Row)
If Not .FilterMode Then
FilterBereich.AutoFilter
End If
For A = 7 To 8
If A = 7 Then
FilterKrit1 = "169.0"
FilterKrit2 = "169.3"
' ElseIf A = 8 Then
'  FilterKrit = "169.3*"
'  ElseIf A = 9 Then
'   FilterKrit = "21603"
'   ElseIf A = 4 Then
'    FilterKrit = "21604"
'   Else
'   FilterKrit = "21605"
End If
'   FilterBereich.AutoFilter Field:=5, Criteria1:=FilterKrit
FilterBereich.AutoFilter 5, ">=" & FilterKrit1, xlAnd, "


mfg kurt aus k

Anzeige
AW: Leider keine Reaktion
26.04.2009 14:45:05
Tino
Hallo,
wenn sich Dein Code auf die Beispieldatei von gestern bezieht, ist aber demnach Field 5 nicht korrekt.
Field 5 ist die Spalte E, diese ist im der Beispieldatei leer und dass Zellformat steht auf Datum?
Gruß Tino
Die Spalte ist i.o.
26.04.2009 14:56:48
Kurt
Hallo Tino,
die Spalte ist i.o. da es andere Werte sind.
So läuft es aber ohne die 169.3:

Private Sub CommandButton2_Click()
Dim A As Long
Dim FilterBereich As Range
Dim FilterKrit As String
Dim FilterKrit1 As String, FilterKrit2 As String
'Application.ScreenUpdating = False
With ActiveSheet
Set FilterBereich = .Range("A5:AC" & Cells.SpecialCells(xlCellTypeLastCell).Row)
If Not .FilterMode Then
FilterBereich.AutoFilter
End If
For A = 7 To 7                 'z.b.7 die Länge bei weiteren Typen halt >
If A = 7 Then
FilterKrit = "169.0*"
'  FilterKrit2 = "169.3"
' ElseIf A = 8 Then
'  FilterKrit = "169.3*"
'  ElseIf A = 9 Then
'   FilterKrit = "21603"
'   ElseIf A = 4 Then
'    FilterKrit = "21604"
'   Else
'   FilterKrit = "21605"
End If
FilterBereich.AutoFilter Field:=5, Criteria1:=FilterKrit
'  FilterBereich.AutoFilter 5, ">=" & FilterKrit1, xlAnd, "


mfg kurt aus k

Anzeige
das sind aber keine Zahlen.
26.04.2009 15:28:52
Tino
Hallo,
bei Text funktioniert dies nicht, dies liegt unter anderem daran,
dass dies einer anderen Sortierreihenfolge unterliegt.
Beispiel zur Verdeutlichung.
 DE
2IstSortiert
3101.1102
4101.2101.1
5101.3101.2
6101.4101.3
7101.5101.4
8101.6101.5
9101.7101.6
10101.8101.7
11101.9101.8
12102101.9
13102.1102.1
14102.2102.2
15102.3102.3
16102.4102.4
17102.5102.5
18102.6102.6
19102.7102.7
20102.8102.8

PS: gehe jetzt auf ein Party, vielleicht bin ich heute Abend nochmal Online,
wenn ich noch dazu im Stande bin. ;-)
Gruß Tino
Anzeige
Dann bist später.
26.04.2009 15:44:29
Kurt
Hallo Tino,
feiere mal schön, bis später mal,
mfg kurt aus k
mach es so...
27.04.2009 08:07:22
Tino
Hallo,
erstelle Dir eine Hilfsspalte z. Bsp. in AD, in diese machst Du aus dem Text in E eine Zahl.
 ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACAD
621112345   164.120.1 REST       21601                164,12

Formeln der Tabelle
ZelleFormel
AD6=--WECHSELN(LINKS(E6;7);".";",")

Auf diese Spalte, wendest Du den Autofilter an.
Private Sub CommandButton2_Click()
Dim A As Long
Dim FilterBereich As Range
Dim FilterKrit1 As String, FilterKrit2 As String

Application.ScreenUpdating = False

With ActiveSheet
  
  Set FilterBereich = .Range("A5:AD" & .Cells.SpecialCells(xlCellTypeLastCell).Row)
  
  If Not .FilterMode Then
   FilterBereich.AutoFilter
  End If
        
   
    For A = 7 To 7
      
      If A = 7 Then
             FilterKrit1 = "164.1"
             FilterKrit2 = "169.1"
      End If
      
      FilterBereich.AutoFilter 30, ">=" & FilterKrit1, xlAnd, "<=" & FilterKrit2
      .Cells(A, 36).Value = .Range("A4").Value
    
    Next A

End With
FilterBereich.AutoFilter
Application.ScreenUpdating = True
End Sub


Gruß Tino

Anzeige
DANKE Tino -)
27.04.2009 21:23:12
Kurt
Guten Abend Tino,
werde es auch so versuchen.
mfg Kurt aus K
AW: mach es so... -)
28.04.2009 12:41:25
Kurt
Hallo Tino,
danke !!!
Habe mir auch das Beispiel von Walli angesehen, werde aber beim Makro bleiben,
Danke für alles
mfg Kurt aus K
AW: vielleicht falscher Ansatz?
26.04.2009 17:02:07
Daniel
Hi
kannst du mal genauer beschreiben, was du da vorhast?
so wie das aussieht, habe ich das gefühl, daß man da mit SVERWEIS oder ZÄHLENWENN oder was ähnlichem eher zum Ziel kommt.
Leg mal alle alle deine Karten auf den Tisch (zumindest was die Struktur der Daten und die konkrete Aufgabenstellung angeht), dann lässt sich am ehesten eine passende Lösung finden.
Gruß, Daniel
Anzeige
AW: vielleicht falscher Ansatz?
26.04.2009 19:33:20
Kurt
Hallo Daniel,
ich möchte gern als Beispiel diese Anzahl der vorhandenen Zahlen ermitteln.
169.032.1 REST
169.032.1 REST
169.032.1 REST
169.033.1 REST
169.033.1 REST
169.033.1 REST
169.033.1 REST
169.331.1 REST
169.331.1 REST
169.331.1 REST
Jetzt soll z.b. gezählt werden werden wieviel von den Zahlen
169.0 + 169.3 vorhanden sind.
Wenn ich so ein Beispiel hätte, könnte ich das auf die anderen Zahlen anwenden,
ist allerdings unterschiedlich.
Manchmal brauch ich dann nur 164.0 bis 164.1 etc. .
genügt dieser Hinweis ?
mfg kurt aus k
Anzeige
vielleich so ...
26.04.2009 20:09:30
Matthias
Hallo Kurt
so wie Daniel schreibt (mit Zählenwenn) und in meinem Beispiel mit einer Hilfsspalte
also evtl. so:
Userbild
Gruß Matthias
AW: vielleich so ...
26.04.2009 20:32:17
Kurt
Hallo Matthias,
das ist auch eine gute Idee.
Aber ich muß die beiden Werte in einer Summe haben.
mfg Kurt aus k
na dann benutze doch Summe ...
26.04.2009 20:37:06
Matthias
Hallo
Na dann benutze doch Summe
Userbild
Gruß Matthias
Herzlichen Dank -)
27.04.2009 14:24:28
Kurt
Hallo Matthias, hallo Daniel,
habe jetzt dies so eingesetzt und es klappt !!!
=SUMME(ZÄHLENWENN($E$6:$E$65000;"169.0*");ZÄHLENWENN($E$6:$E$65000;"169.3*"))
werde dann später noch die Formel entsprechend der Erweiterung
anpassen von bis etc.,
DANKE
mfg Kurt aus K
Anzeige
Darf ich noch etwas Fragen ?
27.04.2009 16:51:11
Kurt
Hallo Zusammen,
ich möchte die Werte addieren, wenn z.B in Spalte M 216 steht, dann
soll die Zahl vom Ergebnis aus Spalte E gesetzt werden.
=SUMME(ZÄHLENWENN($M$6:$M$65000;"216*");ZÄHLENWENN($E$6:$E$65000;"245.2*"))
mfg Kurt aus K
mit Summewenn ...
28.04.2009 08:52:28
Matthias
Hallo Kurt,
Grade noch gesehen, das da noch einne Frage war.
Das was Du willst, geht mit Summewenn
Userbild
hier die Datei:
https://www.herber.de/bbs/user/61461.xls
Gruß Matthias
Leider noch Problem Bitte !!!
28.04.2009 19:18:22
Kurt
Hallo Matthias,
bitte schau mal in Zelle I13 Bitte !!!
Ich kann leider keine Hilfsspalte erstellen.
Habe mal deine Musterdatei erweitert, siehe Spalte B.
Wenn ich anstatt "169.0" einsetze "ww" einsetze wird alles gezählt,
nur die Erweiterung nicht.
Ich verzweifel habe HEUTE schon 3h probiert ohne Erfolg.
Ich brauch allerdings dringend die Spalte "E".
Anbei die Musterdatei:
https://www.herber.de/bbs/user/61477.xls
mfg Kurt aus K
AW: vielleicht falscher Ansatz?
26.04.2009 20:58:34
Daniel
Hi
für die Anzahl von 169.0 und 169.3 so:

=ZählenWenn(E:E, "169.0*)+Zählenwenn(E:E, "169.3*")


das Zählen von - bis ist etwas schwieriger, weil du da Texte hast und die Werte in Zahlen umwewandelt werden müssen, z.B. mit der Formel:


=Wert(Wechseln(Links(E6,9);".";""))


wenn du das gemacht hast, dann kannst du die Anzahl von 164.0 bis 164.5 dann so ermittlen:


=Zählenwenn(x:x;"


eine weitere Möglichkeit, eine Anzahl "von-bis" zu ermitteln, wäre folgende Formel


=SUMMENPRODUKT(1*(2=VERGLEICH(E6:E864;{" ";"169.0";"169.3"};1)))


der Zellbereich E6:E864 muss hier konkret angegeben werden, ein E:E ist nicht möglich
bei dieser Variante müssen die Werte nicht in Zahlen umgewandelt werden.
der letzte Wert "169.3" wird nicht mehr mitgezählt, dh er muss in der letzten Stelle um 1 grösser sein, als die Werte die gezählt werden sollen, dh die Formel würde alle Fahrzeuge zählen, die mit 169.0, 169.1, 169.2 beginnen, aber nicht die, die mit 169.3 beginnen.
Gruß, Daniel
btw, ich bin bei dem Laden, der die Produkte herstellt, was machst du dabei?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige