Supportnet / Forum / Tabellenkalkulation
Leere Zeilen mit Autofilter
Frage
Hallo.
Ich habe ein Problem.
Und zwar muss ich eine Kunden Ausgangsdatei erstellen.
Ich habe jetzt 3 verschiedene Blätter in einer Mappe angefangen.
Für jeden Kunden ein Blatt.
Zusätzlich ein Blatt für die Gesamt Ansicht.
Nun habe ich mit Formeln die einzelnen Blätter so verlinkt, das ich auf der Gesamt Seite alles automatisch angezeigt bekomme, was ich in den anderen Blättern geschrieben habe.
Da ich aber auf mehreren Blättern arbeite, muss ich ja in der Gesamt Ansicht vorher angeben, von welcher bis welcher Zeile, welches Blatt angezeigt werden soll.
Beispiel.
Blatt 1 = Gesamt Ansicht von Zeile 1 - 15
Blatt 2 = Gesamt Ansicht von Zeile 16 - 30
Blatt 3 = Gesamt Ansicht von Zeile 31- 45
Das heisst aber, das er mir in der Gesamt Ansicht alle Zeilen anzeigt, egal ob ich diese Beschriftet habe oder nicht.
Wenn ich jetzt einen Autofilter setze, z.b. Stückzahl grösser als Null, dann macht er die leeren Zeilen weg.
Genauso wie ich es haben will.
Doch wenn ich jetzt wieder was in Blatt 1 schreibe, und dann auf Gesamt Ansicht gehe, dann erscheint diese Zeile erst durch erneute Autofilter Betätigung.
Wie kann ich das umgehen ?
Wie kann ich die leeren Zeilen weg machen, ohne immer neuen Filter setzen zu müssen ?
Für Hilfe wäre ich dankbar.
mfg Heiko
Antwort 1 von coros
Hi Heiko,
in dem Du mit einem VBA Code den Autofilter bei jedem aktivieren des Blattes anstößt. Der Code hierzu wäre z.B.
und müsste 1:1 in das Tabellenblatt, in dem der Autofilter gesetzt ist, kopiert werden.
Der Filter in dem Code filtert nach Spalte A (sagt das Field:=1 aus) und filtert alle nichtleere Zellen (sagt das Criteria1:="<>" aus). Bei jedem aktivieren des Blattes, wird der Autofilter aktiviert.
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)
4. Klicke danach in dem linken Fenster auf den Eintrag Tabelle1(Dein Tabellenname) oder Tabelle2(Dein Tabellenname),bzw die Tabelle, in dem der Code wirken soll.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich wieder.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
in dem Du mit einem VBA Code den Autofilter bei jedem aktivieren des Blattes anstößt. Der Code hierzu wäre z.B.
Private Sub Worksheet_Activate()
Range("A2").AutoFilter Field:=1, Criteria1:="<>"
End Sub
und müsste 1:1 in das Tabellenblatt, in dem der Autofilter gesetzt ist, kopiert werden.
Der Filter in dem Code filtert nach Spalte A (sagt das Field:=1 aus) und filtert alle nichtleere Zellen (sagt das Criteria1:="<>" aus). Bei jedem aktivieren des Blattes, wird der Autofilter aktiviert.
Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.
1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.
2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11
3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)
4. Klicke danach in dem linken Fenster auf den Eintrag Tabelle1(Dein Tabellenname) oder Tabelle2(Dein Tabellenname),bzw die Tabelle, in dem der Code wirken soll.
5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.
Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich wieder.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Heiko Schrimpf
Vielen Dank.
Es hat funktioniert ;-)
Auskennen tue ich mich noch nicht wirklich,
auch wenn ich mich momentan verstärkt darum kümmere um dies zu ändern ;-)
Da hab ich gleich nochmal ne Frage.
Und zwar möchte ich die vorhin genannte Gesamt Ansicht schützen.
Denn über Netzwerk hat jetzt die komplette Firma Zugriff darauf, und ich möchte nicht, das ich täglich die Formeln neu eintragen muss, weil irgendjemand da Mist gemacht hat ;-)
Wenn ich dies aber tue, dann funktioniert die Formel nicht mehr.
Gibts da auch ne Möglichkeit ?
Oder muss ich mich entscheiden welches ich will, schützen oder Formel ?
lg Heiko
Es hat funktioniert ;-)
Auskennen tue ich mich noch nicht wirklich,
auch wenn ich mich momentan verstärkt darum kümmere um dies zu ändern ;-)
Da hab ich gleich nochmal ne Frage.
Und zwar möchte ich die vorhin genannte Gesamt Ansicht schützen.
Denn über Netzwerk hat jetzt die komplette Firma Zugriff darauf, und ich möchte nicht, das ich täglich die Formeln neu eintragen muss, weil irgendjemand da Mist gemacht hat ;-)
Wenn ich dies aber tue, dann funktioniert die Formel nicht mehr.
Gibts da auch ne Möglichkeit ?
Oder muss ich mich entscheiden welches ich will, schützen oder Formel ?
lg Heiko
Antwort 3 von coros
Hi Heiko,
eigentlich müssten nach meinem Kenntnisstand die Formeln weiterhin funktionieren (was immer Du auch mit funktionieren meinst), egal ob ein Blatt geschützt ist oder nicht. Ich habe jedenfalls keine Idee, woran das liegen könnte. Nun bin ich aber auch nicht der Formelexperte, da gibt es hier andere, die auf dem Gebiet fit sind. Eventuell ließt ja jemand von denen den Beitrag hier und hat einen Lösungsvorschlag.
Sorry, dass ich Dir da nicht weiterhelfen kann.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
eigentlich müssten nach meinem Kenntnisstand die Formeln weiterhin funktionieren (was immer Du auch mit funktionieren meinst), egal ob ein Blatt geschützt ist oder nicht. Ich habe jedenfalls keine Idee, woran das liegen könnte. Nun bin ich aber auch nicht der Formelexperte, da gibt es hier andere, die auf dem Gebiet fit sind. Eventuell ließt ja jemand von denen den Beitrag hier und hat einen Lösungsvorschlag.
Sorry, dass ich Dir da nicht weiterhelfen kann.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von coros
Hi,
ich noch mal. Man, bin ich blind. Jetzt weiß ich, was Du meinst. Du meinst, es kommt immer beim Aktivieren des Tabellenblattes ein Fehler, ein sogenannter Debugger. Das lößt Du folgendemaßen. Tausche nachfolgenden Code gegen den alten aus.
Den Text "Hier das Blattschutzpasswort" tausche gegen Dein Passwort aus. Aber bitte nicht die Anführungsstriche ("") dabei löschen, sondern das Passwort dazwischen schreiben, sonst gibt es den nächsten Fehler. Ist ganz wichtig.
Ich hoffe, Du kommst klar. Wenn nicht melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich noch mal. Man, bin ich blind. Jetzt weiß ich, was Du meinst. Du meinst, es kommt immer beim Aktivieren des Tabellenblattes ein Fehler, ein sogenannter Debugger. Das lößt Du folgendemaßen. Tausche nachfolgenden Code gegen den alten aus.
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect "Hier das Blattschutzpasswort"
Range("A2").AutoFilter Field:=1, Criteria1:="<>"
ActiveSheet.Protect "Hier das Blattschutzpasswort"
End Sub
Den Text "Hier das Blattschutzpasswort" tausche gegen Dein Passwort aus. Aber bitte nicht die Anführungsstriche ("") dabei löschen, sondern das Passwort dazwischen schreiben, sonst gibt es den nächsten Fehler. Ist ganz wichtig.
Ich hoffe, Du kommst klar. Wenn nicht melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von Heiko Schrimpf
Cool.
Vielen Dank.
Genau das war der Fehler ;-)
Danke Dir nochmal rechtherzlich.
Bin das erste mal auf dieser Seite,
aber die werd ich mir auf jeden Fall in die Favos setzen.
Die Seite ist wirklich gut.
mfg Heiko
Vielen Dank.
Genau das war der Fehler ;-)
Danke Dir nochmal rechtherzlich.
Bin das erste mal auf dieser Seite,
aber die werd ich mir auf jeden Fall in die Favos setzen.
Die Seite ist wirklich gut.
mfg Heiko

