Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Automatisches Ausblenden über Makro
#11
Hallo zusammen,

ich habe das ausprobiert.
Richtig ist: Nachher wird nur noch dargestellt, was den Filterregeln entspricht.
Falsch ist: es ist kein Filter und es dauert ewig.

Beim Aufzeichnen habe ich festgestellt, dass er alle Einträge in Spalte 1 bei Criteria1 auflistet, und nichts aufzeichnet bei dem #NV

Frage:
könnte man das lösen, in dem man alle Einträge der Spalte 1 in eine Collection einliest und diese dann Criteria1 mit auf den Weg gibt?
Beim Einlesen in die Collection könnte man die Formel und leeren Zellen ausschließen.
Ergibt zwar viel mehr Code, wäre aber dann gefiltert und müsste auch viel schneller laufen. Oda?
[-] Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:
  • Lars1904
Antworten Top
#12
Hallo Wastl,

mit Autofilter geht das natürlich auch:  :19:
Sub FehlerUndLeereAusblenden()
   Dim wksBlatt As Worksheet
   
   On Error Resume Next
   For Each wksBlatt In ThisWorkbook.Worksheets
     wksBlatt.Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="<>#NV", _
                                            Operator:=xlAnd, Criteria2:="<>"
   Next wksBlatt
   On Error GoTo 0
End Sub
Gruß Uwe
[-] Folgende(r) 2 Nutzer sagen Danke an Kuwer für diesen Beitrag:
  • Wastl, Lars1904
Antworten Top
#13
Hi Uwe,

das geht ja noch viel fixer und is dennoch genial einfacher

Edit:
Nur bleiben bei mir nach dem Durchlaufen die #NV ob als Text geschrieben oder von Formel erzeugt dennoch sichtbar.
Wenn ich die gefilterte Spalte nochmal kontrolliere, was er da tut, filtert er dann erst wie gewünscht.
[-] Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:
  • Lars1904
Antworten Top
#14
Hi Wastl,

ist wieder das Übersetzungsproblem wie bei Datum(sen) auch. Dann so:
Sub FehlerUndLeereAusblenden()
Dim wksBlatt As Worksheet

On Error Resume Next
For Each wksBlatt In ThisWorkbook.Worksheets
wksBlatt.Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="<>#N/A", _
Operator:=xlAnd, Criteria2:="<>"
Next wksBlatt
On Error GoTo 0
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lars1904
Antworten Top
#15
Hallo Uwe,

jetzt gehts, feini
der Benutzerdefinierte Filter zeigt nun das Criteria1 nicht an, aber das is ja ned so wichtig wenn Filter tut was Filter soll…
[-] Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:
  • Lars1904
Antworten Top
#16
Vielen lieben Dank!

Ich habe dennoch noch eine kurze Rückfrage:

Wie müsste ich den Text abändern, damit in Spalte A und C nur noch die #NV-Fehler ausgeblendet werden sollen?

Danke!!!
Antworten Top
#17
Hallo Lars,
Sub FehlerUndLeereAusblenden()
Dim wksBlatt As Worksheet

On Error Resume Next
For Each wksBlatt In ThisWorkbook.Worksheets
wksBlatt.Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="<>#N/A"
wksBlatt.Cells(1, 1).CurrentRegion.AutoFilter Field:=3, Criteria1:="<>#N/A"
Next wksBlatt
On Error GoTo 0
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lars1904
Antworten Top
#18
Super!!! Das klappt genauso wie ich es mir vorgestellt habe! Vielen Dank!!!

Ein letztes Problem müsste ich allerdings noch lösen:

Wie muss das Makro lauten, wenn ich dazu noch die Zeilen mit leerem Zellenwert in der Spalte G nur im Zellbereich E10:K59 und nur im ersten Tabellenblatt (Tabellenblattname: "Protokoll") ausblenden möchte?

Perfekt wäre also das vorherige Makro ergänzt um den jetzigen Beitrag.

Danke! :)
Antworten Top
#19
Sorry,
da muss ich passen. Blush

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lars1904
Antworten Top
#20
Ginge es denn in zweiten getrennten makros?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste