Office: Zeilen die leer sind ein-/ausblenden

Helfe beim Thema Zeilen die leer sind ein-/ausblenden in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Folgendes Probleeeem: ich möchte auf einer Seite per VBA (mittels Button) Zeilen ein-/ausblenden die leer sind. Es handelt sich um die Zellen A5... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Torsten1, 21. August 2012.

  1. Zeilen die leer sind ein-/ausblenden


    Hallo

    Folgendes Probleeeem: ich möchte auf einer Seite per VBA (mittels Button)
    Zeilen ein-/ausblenden die leer sind.
    Es handelt sich um die Zellen A5 bis A24
    Das sieht dann z.B. so aus:
    Zelle A5 = mit Text gefüllt > Zeile nicht ausblenden
    Zelle A6 = mit Text gefüllt > Zeile nicht ausblednen
    Zelle A7 = leer > Zeile ausblenden
    Zelle A8= mit Text gefüllt > Zeile nicht ausblenden
    Zelle A9 = leer > Zeile ausblenden
    Zelle A10 = leer > Zeile ausblenden
    .....
    .....
    Zelle A22 = mit Text gefüllt > Zeile nicht ausblenden
    Zelle A23 = leer > NICHT Zeile ausblenden
    Zelle A24 = leer > NICHT Zeile ausblenden

    Nun sollen alle Zeilen im Bereich A5 - A24 die leer sind ausgeblendet werden,
    außer die, nach der letzten Zeile in der sich noch Text befindet.

    Das Einblenden sollte natürlich auch möglich sein.

    Kann mir da jemand helfen ?

    Nette Grüße
    Torsten

    :)
     
    Torsten1, 21. August 2012
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo torsten,

    benutze Autofilter.
     
    Hajo_Zi, 23. August 2012
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Torsten,

    versuche es mal so:

    Code:
    Zeilen die leer sind ein-/ausblenden grusz.gif
     
    Beverly, 23. August 2012
    #3
  4. Zeilen die leer sind ein-/ausblenden

    Hallo Torsten,

    Sub ausblenden()
    Dim lngLast As Long, rngHide As Range

    lngLast = Evaluate("MAX(IF(A5:A24<>"""",ROW(5:24)))")

    If lngLast = 0 Then lngLast = 24

    On Error Resume Next
    Set rngHide = Range("A5:A" & lngLast).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0

    If Not rngHide Is Nothing Then rngHide.EntireRow.Hidden = True

    Set rngHide = Nothing
    End Sub

    Sub einblenden()
    Range("A5:A24").EntireRow.Hidden = False
    End Sub





    « Gruß Sepp »
     
    josef e, 23. August 2012
    #4
  5. Vielen Dank für Eure Antworten *top

    @Karin
    Bei Deinem Code bekomme ich leider einen Laufzeitfehler
    ("Objektvariable oder With-Blockvariable nicht festgelegt")

    @Sepp
    Funktioniert wunderbar - genau so habe ich es mir vorgestellt.

    Könnte mir ggf. noch jemand schreiben wie der Code abgeändert/ergänzt werden muss,
    um ihn über mehrere Blätter (Blatt1, Blatt4 und Blatt5) anwenden zu können ?
    Ursprünglich sollte er nur auf ein Blatt angewendet werden.

    Ich bin einfach zu blöde einen Code über mehrere Blätter anzuwenden. *weinen

    Nette Grüße
    Torsten
     
    Torsten1, 23. August 2012
    #5
  6. Hallo Thorsten,

    ' **********************************************************************
    ' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
    ' **********************************************************************

    Option Explicit

    Const cstrSheets As String = "Blatt1;Blatt4;Blatt5"

    Sub ausblenden()
    Dim lngLast As Long, rngHide As Range
    Dim vntSheets As Variant, lngIndex As Long

    vntSheets = Split(cstrSheets, ";")
    For lngIndex = 0 To UBound(vntSheets)
    Set rngHide = Nothing
    With Sheets(vntSheets(lngIndex))
    lngLast = Evaluate("MAX(IF('" & .Name & "'!A5:A24<>"""",ROW(5:24)))")

    If lngLast = 0 Then lngLast = 24

    On Error Resume Next
    Set rngHide = .Range("A5:A" & lngLast).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0

    If Not rngHide Is Nothing Then rngHide.EntireRow.Hidden = True
    End With
    Next

    Set rngHide = Nothing
    End Sub

    Sub einblenden()
    Dim vntSheets As Variant, lngIndex As Long

    vntSheets = Split(cstrSheets, ";")
    For lngIndex = 0 To UBound(vntSheets)
    Sheets(vntSheets(lngIndex)).Range("A5:A24").EntireRow.Hidden = False
    Next

    End Sub





    « Gruß Sepp »
     
    josef e, 23. August 2012
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Torsten,

    in welche Zeile kommt der Fehler? Das kann ich leider nicht nachvollziehen - bei mir läuft der Code korrekt.


    Zeilen die leer sind ein-/ausblenden grusz.gif
     
    Beverly, 23. August 2012
    #7
  8. Zeilen die leer sind ein-/ausblenden

    Hallo

    Ich bitte um Entschuldigung, dass ich mich erst jetzt melde !
    @Karin
    Sorry - war mein Fehler. Ich hatte einen falschen Zellbezug angegeben.
    Der Code funktioniert (allerdings ohne die Zeilen nach dem letzten Text stehen zu lassen)
    Trotzdessen - vielen Dank !

    @Sepp
    Funktioniert tadellos !!! Vielen Dank !

    Es ist nicht wichtig, aber ich frage trotzdem:
    der Code funktioniert einwandfrei, wenn die Zelle "wirklich" leer ist.

    Gibt es eine Möglichkeit, den Code so zu "wandeln", dass er auch funktioniert,
    wenn die Zelle zwar auf "" (Anführungszeichen > für "Leer") eingestellt ist, sich in Ihr aber noch eine Formel befindet ?

    Der Hintergrund ist folgender: Blatt2 bezieht seine Informationen von Blatt1 (Blatt3 aus Blatt2 ....usw.);
    Wird in Blatt1 etwas in Bspw. Zelle A5 gelöscht, wird auf Blatt2 in der gleichen Zelle
    die Formel "=wenn(blatt1!A5="";"";blatt1!A5)" ausgeführt.
    Die Zelle in Blatt2 ist also nicht "wirklich" "leer" (sichtbar leer schon, aber nicht für Excel).
    Also "xlCellTypeBlanks" funktioniert dort nur teilweise (auf Blatt1, wo etwas gelöscht wurde schon,
    nur nicht auf den Folgeblättern, in denen zwar "sichtbar" auch nichts ist,
    sich aber Formlen befinden) !

    Idee ? Wäre sehr nett (auch wenn es völlig unwichtig erscheint *biggrin.gif* ) !

    Nette Grüße
    Torsten
     
    Torsten1, 25. August 2012
    #8
  9. Hallo Thorsten,

    das Blatt mit den "echten" Leerzellen mus als erstes angeführt werden!

    ' **********************************************************************
    ' Modul: Modul3 Typ: Allgemeines Modul
    ' **********************************************************************

    Option Explicit

    Const cstrSheets As String = "Tabelle1;Tabelle3;Tabelle4"

    Sub ausblenden()
    Dim lngLast As Long, rngHide As Range
    Dim vntSheets As Variant, lngIndex As Long

    vntSheets = Split(cstrSheets, ";")
    For lngIndex = 0 To UBound(vntSheets)
    If rngHide Is Nothing Then
    With Sheets(vntSheets(lngIndex))
    lngLast = Evaluate("MAX(IF('" & .Name & "'!A5:A24<>"""",ROW(5:24)))")

    If lngLast = 0 Then lngLast = 24

    On Error Resume Next
    Set rngHide = .Range("A5:A" & lngLast).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    End With
    End If
    If Not rngHide Is Nothing Then Sheets(vntSheets(lngIndex)).Range(rngHide.Address).EntireRow.Hidden = True
    Next

    Set rngHide = Nothing
    End Sub

    Sub einblenden()
    Dim vntSheets As Variant, lngIndex As Long

    vntSheets = Split(cstrSheets, ";")
    For lngIndex = 0 To UBound(vntSheets)
    Sheets(vntSheets(lngIndex)).Range("A5:A24").EntireRow.Hidden = False
    Next

    End Sub





    « Gruß Sepp »
     
    josef e, 25. August 2012
    #9
  10. Taaaaaaaadellos ! Vielen, vielen Dank !!!!!!

    Nette Grüße und noch ein schönes Wochenende
    Torsten
     
    Torsten1, 25. August 2012
    #10
  11. Ich glaube, dass ich jetzt unverschämt werde .....
    und es macht ÜBERHAUPT NICHTS, wenn niemand (konstruktiv) antwortet.

    Besteht "ggf. evtl. vielleicht" die Möglichkeit, die Zeilen, die ausgeblendet wurden
    auch wieder (und NUR die zuvor ausgeblendeten - alle anderen sollen "unberührt" bleiben)
    einzublenden ?

    ..... ich werde NIE WIEDER eine solch dreiste Frage stellen !

    Nette Grüße
    Torsten
     
    Torsten1, 25. August 2012
    #11
  12. Hallo Torsten,

    das ist nicht unverschämt, du brauchst dich also nicht entschuldigen.

    Nimm den Code von "ausblenden" und schreib statt .Hidden = True einfach .Hidden = False




    « Gruß Sepp »
     
    josef e, 25. August 2012
    #12
  13. Beverly
    Beverly Erfahrener User

    Zeilen die leer sind ein-/ausblenden

    Das kann ich nicht nachvollzeihen - in der hochgeladenen Mappe werden die letzten Zeilen korrekt nicht berücksichtigt und bleiben eingeblendet. Wenn das in deiner Originaldatei nicht der Fall ist, dann hast du 1. andere Bedingungen und/oder 2. hast du den Code nicht korrekt an deine Bedingungen angepasst.


    Zeilen die leer sind ein-/ausblenden grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 25. August 2012
    #13
  14. Hallo, bin neu hier und habe ein ähnliches Problem :

    in einer Arbeitsmappe sind zwei Tabellenblätter, wobei auf Blatt 2 sich alle Zellen auf die gleiche Zelle auf Blatt 1 beziehen (praktisch gespiegelt).
    Nun sollen aber alle Zeilen auf Blatt 2 wo die Zelle in Spalte D leer ist (die jedoch die Formel "Bezug auf Blatt 1" enthält) automatisch ausgeblendet werden. Wenn jedoch auf Blatt 1 in eine Zelle der Spalte D geschrieben wird soll die Zeile auf Blatt 2 automatisch eingeblendet werden.
    Hintergrund ist der, dass auf Blatt 1 eine Art Auslieferungskalender ist, der ständig im Büro aktualisiert wird. Blatt 2 dient auf einem zweiten Monitor in einem anderen Raum als Anzeige, wo jedoch nur die jeweils 10 nächsten Auslieferungen angezeigt werden. Dort sollen also die noch freien Auslieferungstermine zwecks Übersichtlichkeit nicht angezeigt werden.Falls ein Termin auf einem freien Slot dazwischen geschoben wird muss die ausgeblendete Zeile deshalb wieder automatisch eingeblendet werden.
    Das geht aber wahrscheinlich nur mit einem Makro, oder ?
    Gibt es jemanden der mir da helfen kann.

    Besten Dank im Voraus sagt

    Wolfgang:
     
    Wolfgang Ramses, 18. Januar 2017
    #14
Thema:

Zeilen die leer sind ein-/ausblenden

Die Seite wird geladen...
  1. Zeilen die leer sind ein-/ausblenden - Similar Threads - Zeilen ausblenden

  2. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  3. Zeilen ausblenden

    in Microsoft Excel Hilfe
    Zeilen ausblenden: Hallo, ich habe hier eine Tabelle wo ich gerne immer automatisch die ganze Zeile ausgeblendet habe wo F R E I L O S steht. Ich mache es momentan über ein Macro und einen Button bei jeder...
  4. Zeilen ein/ausblenden mit Checkbox

    in Microsoft Excel Hilfe
    Zeilen ein/ausblenden mit Checkbox: Guten Tag, in einem Excel sollen je nach aktivierter Checkbox die Zeilen mit bestimmten Inhalten ein- bzw. ausgeblendet werden. Die Abkürzungen stehen für Niederlassungen / Bereiche. Für alle...
  5. Zeile ausblenden anhand bestimmter Werte

    in Microsoft Excel Hilfe
    Zeile ausblenden anhand bestimmter Werte: Hallo Community! Ich habe mal wieder ein Excel- bzw. VBA-Problem *:)* Da ich mithilfe von Google leider nicht weitergekommen bin, habe ich mich entschlossen, mich in diesem Forum anzumelden *:)*...
  6. Pivot - einzelne Zeilen ausblenden

    in Microsoft Excel Hilfe
    Pivot - einzelne Zeilen ausblenden: Moin zusammen, ich arbeite aktuell an einer Kontaktliste (bspw.: Name, Telefonnummer, Fax, Adresse in der Reihenfolge). Nun stellt sich mir folgendes Problem: Ich hab Kontakte, die haben keine...
  7. Zeile Ausblenden wenn Bedingung erfüllt ist

    in Microsoft Excel Hilfe
    Zeile Ausblenden wenn Bedingung erfüllt ist: Guten Morgen, ich habe mir schon vieles durchgelesen - finde aber leider nicht das passende für mich. Ich habe auch eine Excel Mappe mit Kundenanfragen. Um die Mappe übersichtlich zu halten...
  8. Zeilen an Bedingung geknüpft ein- oder ausblenden

    in Microsoft Excel Hilfe
    Zeilen an Bedingung geknüpft ein- oder ausblenden: Guten Morgen zusammen, ich bin seit dieser Woche etwas am Verzweifeln.. Ich bin dabei für meine Kollegen eine neue Eingabemaske für ein Prüfprotokoll in Excel zu bauen, bzw. die meines Vorgängers...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden