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

Forumthread: Makro anpassen - Zeile ausblenden wenn Wert

Makro anpassen - Zeile ausblenden wenn Wert
22.01.2018 13:02:29
Andreas
Hallo,
ich würde folgendes benötigen. Ich habe eine Excel als Arbeits/Aufgabenpaket. In Spalte N wird ok eingetragen wenn die Aufgabe erlegdigt ist. Insgesamt handelt es sich um mehrere Hundert Aufgaben, also mehrere hundert Zeilen.
Man kann Makros finden, welche einem nach eintragen eines Wertes eine Range ausblenden.
Private Sub Worksheet_Calculate()
Dim rngZelle As Range
On eror GoTo Errorhandler
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
For Each rngZelle In Range("N6:N15")
With rngZelle
.EntireRow.Hidden = (.Value = 0)
End With
Next rngZelle
Errorhandler:
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Wie bekommt man das hin, dass er eben nur Zeilenweise ausblendet. Sprich, Trage ich in N80 ok ein, dann Zeile 80 ausblenden. Trage ich in N415-418 ok ein, dann Zeilen 415-418 ausblenden. Was hier auch noch fehlt, dass man die Zeilen auch wieder einblenden kann. Vielen Dank für die Hilfe.
Gruß Andreas
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Was weiter....
22.01.2018 13:24:59
Andreas
Hi,
das war mein Fehler, da ich der Meinung war ich hatte das gemacht. Das ist auch nicht meine Art 20 tausend Fragen zu stellen und nie Feedback zu geben (siehe alte Threads). Aber ich hole das jetzt gleich nach.
Gruß Andreas
Anzeige
AW: Makro anpassen - Zeile ausblenden wenn Wert
22.01.2018 13:26:35
Bernd
Hi,
Entschuldigung natürlich sehr gerne angenommen, hier mal ein Lösungsansatz,
zum Ausblenden diesen Code in Dein Tabellenblatt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("N6:N200")) Is Nothing Then
If Target.Value = "ok" Then
Rows(Target.Row).Hidden = True
Else: End If
End If
End Sub
und für das Einblenden diesen in ein allgemeines Modul:
Option Explicit
Sub AlleZeilenEinblenden()
ActiveSheet.Rows.Hidden = False
End Sub
MfG Bernd
Anzeige
AW: Makro anpassen - Zeile ausblenden wenn Wert
22.01.2018 13:53:12
Andreas
Hallo Bernd,
gerne doch. Danke für die Lösung, die funktioniert. Es fällt auf, dass wenn ich den Code für das ausblenden aktiviere, ich das in manchen Zellen schon vorhandene ok noch einmal reinschreiben muss, damit er die Zeile dann auch wirklich ausblendet. Kann der Code das nur auf "neu" eingetragene Werte anwenden?
Für das allgemeine Modul mit dem einblenden würde ich mir einen Button in der Symbolleiste platzieren. Dazu kommt dann die Frage, ob man das dann auch wirklich wieder ausblenden kann, wenn das oben beschriebene Verhalten so ist, dann würde ein erneutes ausblenden wohl eher nicht funktionieren, oder?
Gruß Andreas
Anzeige
AW: Makro anpassen - Zeile ausblenden wenn Wert
23.01.2018 03:55:58
Bernd
Hi,
sorry für die späte Antwort, hatte nur gestern keine Zeit mehr.
Hier mal eine Musterdatei mit zwei Schaltflächen für das manuelle Ein- und Ausblenden jener Zeilen,
wo in der Spalte ab N6 bis N200 das Wort "ok" zu finden ist:
https://www.herber.de/bbs/user/119177.xlsm
Und ja, der Code kann nur nach dem eintragen die Zeile ausblenden.
Zu Deiner zweiten Frage kann ich leider keine Antwort geben, da ich trotz mehrfachen lesen dieser, nicht herausgefunden habe, was Du damit sagen möchtest.
Hoffe Du kannst damit etwas anfangen und wünsche einen schönen Tag,
MfG Bernd
PS.: Bin erst morgen wieder Online!
Anzeige
AW: Makro anpassen - Zeile ausblenden wenn Wert
23.01.2018 06:14:52
Andreas
Hallo Bernd,
alles gut, passt und funktioniert. Du hast mit der Antwort (Code kann nur nach aktivieren angewendet werden, man muss also aktiv noch mal überall ein ok eintragen) und der Lösung ein und ausblenden alle Fragen beantwortet, die ich ehrlich geasagt extrem un- und missverständlich beschrieben habe. Damit auch dir heute einen schönen Arbeitstag
mfG
Andreas
Anzeige
Gerne - Danke für die Rückmeldung! owT
24.01.2018 03:09:52
Bernd
;
Anzeige
Anzeige

Infobox / Tutorial

Zeilen in Excel ausblenden: Makros und Alternativen


Schritt-für-Schritt-Anleitung

Um in Excel Zeilen auszublenden, wenn in einer bestimmten Zelle der Wert "ok" eingetragen wird, kannst du ein einfaches Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge den folgenden Code in das entsprechende Arbeitsblatt ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("N6:N200")) Is Nothing Then
           If Target.Value = "ok" Then
               Rows(Target.Row).Hidden = True
           End If
       End If
    End Sub
  3. Um die ausgeblendeten Zeilen wieder einzublenden, füge folgenden Code in ein allgemeines Modul ein:

    Sub AlleZeilenEinblenden()
       ActiveSheet.Rows.Hidden = False
    End Sub
  4. Füge einen Button in deine Excel-Oberfläche ein, um das Einblenden zu erleichtern.


Häufige Fehler und Lösungen

  1. Problem: Zeilen blenden sich nicht aus, wenn "ok" eingetragen wird.
    Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt eingefügt ist und dass die Zelle, in die du "ok" einträgst, im Bereich N6:N200 liegt.

  2. Problem: Bereits vorhandene "ok"-Werte werden nicht erkannt.
    Lösung: Der Code wird nur bei Änderungen aktiviert. Du musst die Zellen erneut bearbeiten oder den Wert löschen und erneut eingeben.


Alternative Methoden

Für Nutzer, die keine Makros verwenden möchten, gibt es auch die Möglichkeit, Zeilen automatisch auszublenden, ohne Makros zu nutzen. Dies kann über die Filterfunktion geschehen:

  1. Markiere die gesamte Tabelle.
  2. Gehe zu Daten und klicke auf Filtern.
  3. Setze einen Filter auf die Spalte N und wähle nur die Einträge, die nicht "ok" sind.

Diese Methode blendet die Zeilen nicht physisch aus, sondern zeigt nur die Zeilen an, die du sehen möchtest.


Praktische Beispiele

Nehmen wir an, du hast eine Liste von Aufgaben in Spalte N. Wenn du in Zelle N10 "ok" eingibst, wird die gesamte Zeile 10 ausgeblendet. Bei N15 bis N20 kannst du mehrere "ok"-Werte eintragen, und die entsprechenden Zeilen werden ebenfalls ausgeblendet.

Zusätzlich kannst du mit dem oben genannten Makro die Möglichkeit implementieren, alle ausgeblendeten Zeilen auf einmal wieder einzublenden.


Tipps für Profis

  • Testen des Codes: Stelle sicher, dass du den Code in einer Testdatei ausprobierst, bevor du ihn in einer produktiven Datei verwendest.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deinen VBA-Code ein, um unvorhergesehene Probleme zu vermeiden.
  • Erweiterte Funktionen: Du kannst den Code erweitern, um zum Beispiel zusätzliche Bedingungen hinzuzufügen, die das Ausblenden von Zeilen steuern, basierend auf anderen Zellen.

FAQ: Häufige Fragen

1. Kann ich Zeilen ausblenden, ohne ein Makro zu verwenden?
Ja, du kannst die Filterfunktion in Excel verwenden, um Zeilen auszublenden, die einen bestimmten Wert enthalten.

2. Wie kann ich ein Makro für das Ausblenden von Zeilen anpassen?
Du kannst die Range und die Bedingungen im VBA-Code anpassen, um das Verhalten des Makros zu ändern. Zum Beispiel kannst du die Zeilen ändern, die überprüft werden.

3. Was passiert, wenn ich ein "ok" in eine Zelle schreibe, die außerhalb des definierten Bereichs liegt?
Das Makro wird in diesem Fall nicht aktiviert, da es nur für den Bereich N6:N200 ausgelegt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige