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

Autofilter für Ziffernkette

Autofilter für Ziffernkette
16.03.2021 16:34:02
Dominik
Hallo ihr Lieben,
meine Frage bezieht sich auf das Autofiltern mit einer Ziffernkette, anstatt mit einer Zeichenkette.
Habe ich den Quelltext für eine Zeichenkette funktioniert alles wunderbar:
Private Sub TxtArtikelname_Change()
If BackOffice.TxtArtikelname = emtpy Then
BackOffice.ListBoxArtikelstamm.Clear
Exit Sub
End If
Dim last As Long
last = Worksheets("WW").Range("A999999").End(xlUp).Row
With BackOffice
.ListBoxArtikelstamm.Visible = False
.TxtArtikelnummer.Value = ""
.TxtPLU.Value = ""
.ListBoxArtikelstamm.Clear
Worksheets("WW").Range("A1:F" & last).AutoFilter
Dim word As String
word = "*" & .TxtArtikelname.Text & "*"
Worksheets("WW").Range("A1:F" & last).AutoFilter Field:=4, Criteria1:=word
Dim last2 As Long
last2 = Worksheets("WW").Range("A99999").End(xlUp).Row
Worksheets("WW").Range("A1:F" & last2).Copy Destination:=Worksheets("AF").Range("A1" _
_
)
Dim last3 As Long
last3 = Worksheets("AF").Range("A9999").End(xlUp).Row
Dim lngz As Long
For i = 2 To last3
.ListBoxArtikelstamm.AddItem (Worksheets("AF").Range("A" & i).Value)
.ListBoxArtikelstamm.Column(1, lngz) = Worksheets("AF").Range("B" & i).Value
.ListBoxArtikelstamm.Column(2, lngz) = Worksheets("AF").Range("D" & i).Value
.ListBoxArtikelstamm.Column(3, lngz) = Worksheets("AF").Range("E" & i).Value
.ListBoxArtikelstamm.Column(4, lngz) = Worksheets("AF").Range("F" & i).Value
lngz = lngz + 1
Next i
.ListBoxArtikelstamm.Visible = True
Worksheets("WW").Range("A1:F" & last).AutoFilter
Worksheets("AF").Cells.Clear
End With
End Sub

Wenn ich jetzt aber selbige Prozedur für eine Ziffernkette anwenden möchte, also dass z.B. alle Artikelnummern, die eine "1" enthalten angezeigt werden sollen, passiert gar nicht, nicht mal wenn man die vollständige Artikelnummer eingibt.
Ich bin dankebar für jeden Tipp.
LG Dominik

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter für Ziffernkette
16.03.2021 17:06:28
Daniel
HI
bei Zahlen funktioniert das so nicht.
Zahlen kann man mit mit &gt und &lt filtern, aber nicht mit *.
füge der Liste mal eine Hilfsspalte hinzu, in welcher du die Artikelnummern in Texte wandelst:
am einfachsten per Formel: in einer Hilfsspalte =D2&"" oder =Text(D2;"0")
füge mal eine Hilfsspalte mit dieser Formel ein und filtere dann in dieser Hilfsspalte.
Gruß Daniel

AW: Autofilter für Ziffernkette
16.03.2021 17:07:25
onur
Wie sind denn die Artikelnummern formatiert und wie sehen sie aus? Ich vermute mal, es sind einfach nur Zahlen - oder?

AW: Autofilter für Ziffernkette
16.03.2021 17:53:53
Dominik
Sie sind in der Tabelle als Text formatiert.

Anzeige
AW: Autofilter für Ziffernkette
16.03.2021 18:46:39
Daniel
Die Formatierung als Text wirkt nur auf manuelle Eingaben, die NACH dieser Formatierung erfolgten.
Sollte die Formatierung nach der Eingabe der Werte erfolgt sein, ist sie nutzlos und verändert die Werte nicht.
Gruß Daniel

Manuell fktioniert das f.TextZahlen auch, ...
17.03.2021 05:14:20
Luc:-?
…wenn man die TextFormatierung erst nachträglich setzt, Daniel;
die Zahlen wechseln sofort die Bündigkeit und man kann mit * filtern.
Du solltest das Filtern mal per Recorder aufzeichnen, Dominik;
viell ergibt das ja neue Erkenntnisse.
Morhn, Luc :-?

AW: Manuell fktioniert das f.TextZahlen auch, ...
17.03.2021 08:39:18
Luschi
Hallo Luc,
der Makrorecorder hilft da nicht viel, denn bei als Text formatierten zahlen ist der Text-Filter nicht verfügbar:
- weder beim Autofilter
- noch bei 'formatierten Tabellen'
- es funktioniert nur 'Suchen nach'
- und das Vba-Ergebnis ist kaum wiederverwendbar

ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=1, Criteria1:= _
Array("1", "21", "2314", "321", "341", "431"), Operator:=xlFilterValues
- wenn sich der Datenbestand ändert.
Gruß von Luschi
aus klein-Paris

Anzeige
nee Luc, dass kann ich so nicht nachvollziehen
17.03.2021 10:33:48
Daniel
der Textfilter "enthält" also Filterkriterium "*Wert*" funktioniert nur für echte Texte.
das nachträgliche Formatieren als Text führt zwar die Linksbündigkeit aus, verändert aber den Charakter des vorhandenen Wertes nicht, dh Zahl bleibt Zahl, auch wenn sie als Text formatiert wird.
Manuell funktioniert es, den Suchtext in das Suchfeld des Filters einzugeben, das filtert tatsächlich Texte und Zahlen (dann aber auch normale Zahlen, die nicht als Text formatiert sind)
allerdings kann man das über VBA-Code nicht so einfach umsetzten, weil hierbei ein Filterarray erstellt werden muss, welches jeden anzuzeigenden Wert als vollständigen Text enthalten muss.
die Erstellung dieses Fiterarrays muss man aber aufwendig programmieren, das lässt sich nicht aufzeichnen.
ja, man kann was aufzeichnen, aber das wäre dann ja nicht flexibel und dynamisch, außerdem scheitert dass dann oft an der Längenbeschränkung von VBA, weil jeder anzuzeigende Wert aufgeführt werden muss und das passt dann nicht in eine Programmzeile, wenns mal ein paar mehr sind.
außerdem, wenn es so wäre wie du schreibst, dann müsste der Code von Dominik ja funktionieren und das tut er nicht.
Gruß Daniel

Anzeige
@D&L: Ich hatte 'manuell' geschrieben ...
17.03.2021 15:31:09
Luc:-?
…und mich auf deine allgemeine Aussage bezogen, Daniel;
allerdings hast du recht und die Zahl bleibt so eine Zahl, trotz Bündigkeitswechsel. Hier könnte das mit den beiden Schreibrichtungen L→R bzw L←R kollidieren und deshalb der Datentyp sich nicht ändern. Das wollte ich eigentlich auch noch testen, hab's dann aber leider doch vergessen.
Ansonsten zeigt das mal wieder, dass in VBA nicht alles (einfach) möglich ist, was in Xl problemlos fktioniert, was allerdings mitunter auch umgekehrt gilt.
Und deshalb hatte ich viell(eicht) geschrieben, Luschi;
hatte das nämlich schon befürchtet. Scheint ein Pferdefuß von VBA zu sein (s.ob.).
Gruß, Luc :-?

Anzeige
AW: @D&L: Ich hatte 'manuell' geschrieben ...
17.03.2021 16:40:52
Daniel
Nein L, das hättest du schon so geschrieben.
"Manuell" kann viel bedeuten
Auch manuell geht der Filter mit * (enthält) nur mit Texten!
Was du meinst, ist das FilterArray, da muss man keinen Stern eingeben für enthält eingeben, aber das funktioniert auch mit echten Zahlen, ohne dass man sie vorher als Text formatiert.

Ich hatte nur manuell Erfolg, ...
19.03.2021 02:04:38
Luc:-?
…Daniel,
und zwar manueller (lat manus, Hand) Bedienung der Xl-Elemente, und nicht mit der Hand auf der Tastatur ein Pgm schreiben. :-]
Das Weitere kann ich ebenfalls bestätigen, aber das hattest ja schon du geschrieben, weshalb ich lieber das Andere hinzugefügt hatte. Das sollte nun aber reichen!
Übrigens, @D&L stand im Betreff, und nur zwecks unmittelbarer Zuordnung (wie nicht ganz unüblich)!
Luc :-?

Anzeige
Du nutzt den Betreff aber nicht als Betreff Luc
19.03.2021 08:11:04
Daniel
Sondern als Teil des Inhalts.
Wenn du es nicht gern hast, dass man deinen Namen abkürzt, sollte dir klar sein, dass auch andere das nicht mögen und es sein lassen.

Es geht beim Betreff nicht ums Mögen ...
19.03.2021 08:51:33
lupo1
... sondern um Kürze. Ich bin da wie immer ganz bei Luc.
(Das ist übrigens eine sachliche, zumindest unpolemische Diskussion)

AW: Es geht beim Betreff nicht ums Mögen ...
19.03.2021 09:20:39
Daniel
ja, aber Luc schreibt keine Betreffs, sondern nutzt den Betreff als Teil des Inhalts.
da muss man auch nicht kürzen.
An wen der Beitrag adressiert ist, wird durch die Baumstruktur ausreichend deutlich, da muss man die Addressaten nicht nochmal in der Betreffzeile wiederholen

Anzeige
Das mit der Baumstruktur kann schon mal nicht sein
19.03.2021 09:33:41
lupo1
... denn man antwortet (2.) in einem Baum IMMER nur auf einen, nicht zwei. Also muss man Abweichungen davon kennzeichnen, und das hat er getan.
Und (1.) natürlich enthält ein Betreff einen Inhalt! Was denn sonst?
Ich schreibe hiernach nicht weiter im Ast, weil ein anderer immer das letzte Wort hat.

AW: Das mit der Baumstruktur kann schon mal nicht sein
19.03.2021 10:08:34
Daniel
naja, genau deine letzte Anmerkung gehört sicherlich zu dem Themenkreis, bei dem du dazulernen wolltest.
Daher gehe ich mal davon aus, dass du hier noch in der Lernphase bist.

owK: Doch ein rechter 'Streithansl'! :->
19.03.2021 15:14:47
Luc:-?
:-?

da gebe ich dir recht.
19.03.2021 15:57:42
Daniel
trotz Ermahnung sich in andere Beiträge einmischen und dann immer noch auf den selben stereotypen Pauschlvorverureiltungen rumreiten (du musst immer das letzete Wort haben...)
da kann man nur sagen, trotz gegenteiliger Beteuerung nichts dazu gelernt.
ob es jetzt allerdings dem Sinn von Hans Ermahnung entspricht, ein aggressives "Streithansel" gleich in der Betreffzeile zu platzieren, weiß ich nicht.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige