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.

Zeilen ausblenden nach erfüllter Bedingung
#1
Hallo zusammen,

ich weiß, bei der Überschrift werden viele jammern, das wurde schon x-fach besprochen und erklärt. Dem stimme ich zu. Ich habe jetzt wirklich einige Stunden damit verbracht, sämtliche Foren-/Hilfen etc. zu durchforsten, finde aber leider verwirrenderweise nirgend die Antwort auf mein Problem, von daher, da dieses Forum hier am aktivsten und kompetentesten erscheint, stelle ich meine Frage hier :):

Problem, Excel 2016, VBA Makro:

Ich habe eine sehr große Datei und in einem Blatt (einfachheitshalber Datenbank) sind ein paar 100 Zahlen, die nur dort eingegeben werden. Diese Werte werden in die anderen Blätter übernommen und damit gerechnet.

Es gibt in den einzelnen anderen Blättern dann diverse Auflistungen dieser Zahlen aus der Datenbank. Wenn in der Datenbank z.B. im Blatt Alpha Werte übernommen werden z.B. au Zeilen 20-30, aber nur Zeile 15 einen Wert enthält, blendet es die anderen Zeilen in Alpha aus.

Bei der geringen Menge hatte ich mit folgendem Makro kein Problem, nur, wenn ich ein Blatt, sagen wir Berta habe, und dort sind um die 100 Zeilen auszublenden, falls der Wert 0 ist, steigt Excel aus.

Ich hatte mehrere Makro-Möglichkeiten gesehen, aber da sich die Zahlen, welche aus der Datenbank in Berta Spalte C ändern können, habe ich es folgendermaßen versucht - und wie gesagt, mit wenigen Zeilen ist es kein Problem. Kann man das ganze nicht verkürzen? Denn ich habe hier natürlich von C27-C92 - also auch ziemlich viel Text.


Code:
Private Sub Worksheet_Calculate()

   Static svntC27 As Variant
   Static svntC28 As Variant
   Static svntC29 As Variant
   Static svntC30 As Variant

  If svntC27 <> Range("C27").Value Then
       svntC27 = Range("C27").Value
       Rows(27).Hidden = (svntC27 = 0)
   End If
 
  If svntC28 <> Range("C28").Value Then
       svntC28 = Range("C28").Value
       Rows(28).Hidden = (svntC28 = 0)
   End If
 
  If svntC29 <> Range("C29").Value Then
       svntC29 = Range("C29").Value
       Rows(29).Hidden = (svntC29 = 0)
   End If
   
 If svntC30 <> Range("C30").Value Then
       svntC30 = Range("C30").Value
       Rows(30).Hidden = (svntC30 = 0)
   End If

End Sub





Danke vorab, ein Verzweifelter
Antworten Top
#2
Hallo,

ersetze Dein Makro durch dieses:
Private Sub Worksheet_Activate()
Dim i As Long
For i = 27 To 30
Rows(i).Hidden = Cells(i, 3).Value = 0
Next i
End Sub
Gruß Uwe
Antworten Top
#3
Halleluhja, gepriesen seist du, der mich endlich erleuchtet - und mein Excel nicht mehr zum Absturz bringt :)

besten Dank, genau nach sowas habe ich gesucht.

Gruß Bo
Antworten Top


Gehe zu:


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