Clever-Excel-Forum

Normale Version: Makro Zeilen ausblenden, wenn 0
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe für mein Problem keinen anderen Thread gefunden, daher mein Problem:

eine Zeile soll ausgeblendet werden, wenn in den zugehörigen Spalten D-BK jeweils der Wert 0 errechnet wird.

Ich habe es hinbekommen, dass die Zeile ausgeblendet wird, wenn in z.B.  D5-BK5 irgendwo eine 0 auftaucht. Es darf aber nur asugeblendet werden wenn überall in D5-BK5 eine 0 steht, da sonst die anderen berechneten Ergebnisse ausgeblendet werden.

Kann mir geholfen werden?
Gruß
Hi,


Zitat:Ich habe es hinbekommen, dass die Zeile ausgeblendet wird, wenn in z.B.  D5-BK5 irgendwo eine 0 auftaucht.

und verrätst Du uns auch wie Du das gemacht hast????
Hallo 

ich denke die Sache ist so simpel das man sie direkt mit einem Makro lösen kann.  Das 1. Makro ist für mehrere Zeilen ausblenden, das 2. Makro ist für eine Zeile gedacht.  In ein normales modul kopieren, fertig.  Ich hoffe die Kommentare sind so gut das man die Funktion nicht weiter erklaeren muss.

mfg  Gast 123

Code:
Option Explicit     '7.9.2017  Gast 123  Clever Forum

Sub MehrereZeilen_Ausblencen()
Dim Zeile As Long, spa As Integer
   Sheets("Tabelle1").Select
   'LastZelle in Spalte D von unten ermitteln
   lz = Cells(Rows.Count, "D").End(xlUp).Row
   'Schleife für mehrere Zeilen ausblenden
   
   'Schleife für mehrere Zeilen auf "0" prüfen
   For Zeile = 2 To lz
      'Spalte D=4 bis BK=63 auf "0" prüfen
      For spa = 4 To 63
         If Cells(Zeile, spa) <> "0" Then Exit For
      Next spa

      'Ausblenden wenn alles "0", sonst wieder Einblenden
      If spa = 64 Then Cells(Zeile, 1).EntireRow.Hidden = True
      If spa <> 64 Then Cells(Zeile, 1).EntireRow.Hidden = False
                   
   Next Zeile
End Sub
'
'Makro für eine Zeile    
Sub EineZeile_Ausblencen()
Dim Zeile As Integer, spa As Integer
   Zeile = 5   'Zeile zum prüen
   'Spalte D=4 bis BK=63 auf "0" prüfen
   For spa = 4 To 63
      If Cells(Zeile, spa) <> "0" Then Exit For
   Next spa

   'Ausblenden wenn alles "0", sonst wieder Einblenden
   If spa = 64 Then Cells(Zeile, 1).EntireRow.Hidden = True
   If spa <> 64 Then Cells(Zeile, 1).EntireRow.Hidden = False
End Sub