Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autofilter in manchen feldern Fehlerhaft

Forumthread: Autofilter in manchen feldern Fehlerhaft

Autofilter in manchen feldern Fehlerhaft
11.09.2024 16:07:08
Marius
Hallo zusammen!

Vorab muss ich direkt darauf hinweisen das ich hier leider nicht mit einer Beispielmappe dienen kann, da es um interne Wartungslisten geht.

Kurzer Hintergrund.
Aktuell strukturieren wir o.g. Wartungslisten so um, dass wir in einer Datei alle Listen haben, per VBA Skript das korrekte auswählen/filtern und daraus eine PDF generieren, welche der Techniker sich dann aus dem Wartungsticket herunterladen kann

Um zumindest manchen Fragen vorzugreifen:
Da wir viele Autofilter Felder nutzen und an 3 Stellen sortieren müssen (Intervall, Maschine, Maschinenoptionen) haben wir das so geregelt, dass Intervall und Maschinentyp mit "x" und "" ganz einfach gefiltert werden können. Das ist nur jeweils ein Feld für den jeweiligen intervall und Maschinentyp.

Problematisch ist dies allerdings bei den Optionen.
Die Anlagen können mit verschiedenen Typen von Peripherie nach Kundenwusch ausgestattet werden, was gleichzeitig bedeutet das Ersatzteile auch andere Artikelnummern haben. Das haben wir gelöst in dem wir einfach als Beispiel "Kühlwasserzusatz einfüllen" 3mal (weil 3 Kühlertypen) untereinander geschrieben haben mit den jeweiligen artikelnummern. Das hat zur folge das wir die Optionen invertiert filtern müssen. das wird klarer wenn ihr den code jetzt gleich seht. Ds funktioniert auch, bis zu einer gewissen Stelle:

Funktionierender Filtercode:
Function sortOptions(optChiller As Long, optExhaust As Long, optZAxis As Long, optFlipper As Long, optAAC As Long, optPLC As Long)

'Für Maschinentyp 1 die Optionen filtern
'Parameterübergabe bei Klick auf Continue des Optionsformulars
'Autofilter Feld ist immer Spalte - 1

'Optionen müssen invertiert gefiltert werden
'Beispiel: Für Kühlertyp1 müssen Kühlertyp2 und Kühlertyp3 auf leer ("") gefiltert werden nicht Kühlertyp1 auf "x"


'Kühler Filtern
Select Case optChiller
Case 0
'Kühlertyp1
With tblSource.Range("B2")
.AutoFilter 45, ""
.AutoFilter 46, ""
End With
Range(tblSource.Cells(1, 46), tblSource.Cells(1, 47)).Columns.Hidden = True
Case 1
'Kühlertyp2
With tblSource.Range("B2")
.AutoFilter 44, ""
.AutoFilter 46, ""
End With
Range(tblSource.Cells(1, 45), tblSource.Cells(1, 45)).Columns.Hidden = True
Range(tblSource.Cells(1, 47), tblSource.Cells(1, 47)).Columns.Hidden = True
Case 2
'Kühlertyp3
With tblSource.Range("B2")
.AutoFilter 44, ""
.AutoFilter 45, ""
End With
Range(tblSource.Cells(1, 45), tblSource.Cells(1, 46)).Columns.Hidden = True
End Select


Der Filter der mit dem folgenden Code gesteuert wird, ist exakt so aufgebaut wie die anderen funktionierenden auch. Das haben wir mehrfach überprüft. Auch Feldnummer für den Autofilter ist 100% korrekt. Dennoch filtert der Autofilter plötzlich alles raus selbst wenn kein x eingetragen ist und die Option ist garnicht mehr vorhanden Die Spalte die eingeblendet bleibt ist sogar die richtige, aber alle zeilen die dazu gehören, egal ob mit x bestückt oder nicht werden weggefiltert

Function sortOptionsOther(optLaser As Long, optMaintUnit As Long)

'Für Maschinentyp 2 und 3 Laser und Wartungseinheit filtern.
'Parameterübergabe bei Klick auf Continue des Optionsformulars
'Autofilter Feld ist immer Spalte - 1

'Optionen müssen invertiert gefiltert werden
'Beispiel: Für Lasertyp1 muss Lasertyp2 auf leer ("") gefiltert werden nicht Lasertyp1 auf "x"

'Laser filtern
Select Case optLaser
Case 0
'Lasertyp1
tblSource.Range("B2").AutoFilter 57, ""
Range(tblSource.Cells(1, 58), tblSource.Cells(1, 58)).Columns.Hidden = True
Case 1
'Lasertyp2
tblSource.Range("B2").AutoFilter 56, ""
Range(tblSource.Cells(1, 57), tblSource.Cells(1, 57)).Columns.Hidden = True
End Select


Vielleicht sehe ich den Wald vor lauter bäumen nicht, aber ich bin mir ziemlich sicher das beide funktionen exakt gleich aufgebaut sind, die eine halt nur mit weniger optionen. Wie bereits gesagt kann ich leider keine Beispieldatei hochladen. Es würde mich viel zu viel Zeit kosten daraus eine Beispielmappe zu erstellen. Und ich habe schon genug zeit damit verbracht diesen miesen kleinen bug zu suchen. Und das weiterhin ohne erfolg. Daher wende ich mich an euch mit der Hoffnung hier auf ein paar hilfreiche kommentare zu treffen.

Beste Grüße
Marius
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 16:51:34
daniel
und du glaubst jetzt, wir finden den Fehler so aus dem Nichts?
wenn der Code stimmt, liegts an den Inhalten.
eine Beispieldatei, in welcher wir den Fehler nachvollziehen können, wäre schon sehr hilfreich.

Damit ich es richtig verstehe: du willst alles ausblenden, was in der jeweiligen Spalte einen Inhalt hat und alles anzeigen, was leer ist?
und im zweiten Fall wird alles ausgeblendet auch die Zellen, die leer aussehen?

dann müsstest du mal prüfen, was wirklich in den Zellen steht, nicht nur draufschauen (z.B mit =Länge(xxx) prüfen, ob unsichtbare Zeichen drin sind und mit =Code(Teil(xxx;1;1)), was für Zeichen das sind (ASCII-Code))
wie werden die Zellen denn befüllt?
gibt es unterschiede in den Inhalten zwischen den Spalten, wo der Code funktioniert und wo nicht?
gibt es zweites Filterkriterium?

Gruß Daniel
Anzeige
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 16:54:58
Onur
"Vielleicht sehe ich den Wald vor lauter bäumen nicht" ??? Du bist wenigstens im Wald...
Und wir sollen deinen Code, der ohne die Datei nix taugt oder aussagt und den man deshalb auch nicht testen kann, analysieren, bloß weil du keine Datei postest ?
Deine "top secret" Daten braucht Niemand, die kannst du durch "Micky Maus" oder "Max Mustermann" ersetzen.
Anzeige
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 17:54:09
Marius
Sehr konstruktiv vielen dank. Ich bin nicht auf blöde kommentare aus. Vielleicht habe ich ja tatsächlich was übersehen. Ich verstehe das es ohne Beispieldatei kaum eine Möglichkeit gibt. Klar kann ich alles ersetzen aber dann bin ich nächstes jahr noch dran. Wir reden hier nicht von irgendwelchen kleinen listen, sondern von ggf. firmeninterna etc. und die kann ich nunmal nicht teilen. Ich war vorallem darauf aus ob ich vielleicht tatsächlich einen buchstaben in der funktion vergessen habe oder sowas. Ein tippfehler oder sonst irgendwas. Mal abgesehen davon ist die datei mal eben 12 MB groß. Das forum begrenzt auf 600kb.

Userbild

Nehmen wir einfach mal das bild Mehr kann ich leider nicht für dich tun.

Intervall wird einfach mit X gefiltert
Maschinentyp (gelber sektor zwischen den grauen spalten) ebenfalls

Das andere gelbe sind die optionen
Nehmen wir einfach mal den Laser als Beispiel.

Der Kunde kann entscheiden ob 7050 oder 7060 je nach laser sind ersatzteil Artikelnummern anders. und auch die positionen der ersatz- bzw. Wartungsteile ändern sich. Damit wir aber nicht die bereits gesetzten filter von Intervall und Anlage überschreiben, weil dann ggf. wartungsaufgaben ausgeblendet werden filtern wir invertiert. Damit ich Die Aktionen für einen 7050 habe muss ich die spalte 7060 mit "" filtern. Sonst würden ja nur die spalten eingeblendet sein die ein x bei 7060 haben So funktioniert autofilter nunmal leider.

Frage ist jetzt warum werden ALLE aktionen egal ob 7050 oder 7060 Ausgeblendet. Die zellen sind entweder "x" oder "" das habe ich überprüft. Keine zelle ist " " oder "x " oder sowas.
Anzeige
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 18:15:38
daniel
wie gesagt, ohne beispieldatei schwierig.
wir sind keine hellseher
ich hab auch immer noch nicht so ganz verstanden, was du da genau filtern willst, deine Beschreibung ist für mich noch zu nebulös, zumal ich keinerlei Hintergrundwissen habe von dem, was du da machst.

bedenke immer: hier sind keine Profis am Werk, du bekommst hier "nur" freundliche Nachbarschaftshilfe.
vielleicht bist du bei einem echten Profi besser aufgehoben. Dem kannst du dann auch deine Datei zeigen und musst sie nicht öffentlich ins Internet stellen.
Gruß Daniel
Anzeige
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 18:20:01
Onur
Du bist echt lustig. "Mehr kann ich leider nicht für dich tun. " ??? DU willst doch Hilfe und nicht ICH.
AW: Autofilter in manchen feldern Fehlerhaft
11.09.2024 17:15:09
snb
Sub M_snb(optlaser)

with tblSource
.Databodyrange.AutoFilter 57-optlaser, " "
.Listcolumns(57+optlaser).range.columns.Hidden = True
end with
End Sub
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige