Guten Tag,
ich versuche mich gerade an einer Makro in Excel und bräuchte Hilfe.
Ich habe zwei Arbeitsblätter: Arbeitsblatt Kalkulation und Arbeitsblatt Druckversion Kalkulation. Die Druckversion ist eine Version des Kalkulationsblatts die dem ausdrucken dient. Die relevanten Zellen werden hierhin übertragen (mittels = und dann Bezug auf das Kalkulationsblatt). In dem Arbeitsblatt Kalkulation kalkuliere ich. Es gibt verschiedene Posten mit Unterpunkten: Siehe Beispiel
1. Leistungsphase
a)...0%
b)...10%
c)...0%
2. Leistungsphase
a)....0%
b)...0%
3. Leistungsphase
a).... 100%
b)....29%
Diese Unterpunkte sollen nun je nach Änderung der Angaben in Spalte B (Spalte mit den Prozentangaben) in der Druckversion angegeben werden oder auch nicht. Die Werte werden in dem Kalkulationsblatt geändert. Falls alle Unterpunkte den Wert 0% haben, sollen alle Zeilen in der Druckversion ausgeblendet sein (Siehe Leistungsphase 2: Hier sollten die Zeilen a) und b) ausgeblendet werden. Nicht jedoch in dem Kalkulationsblatt ausgeblendet werden.
Ich habe bereits eine funktionierende Makro, die jedoch nicht vollständig mein Problem löst. Es wird mit hilfe dieser lediglich die Zelle ausgeblendet in der ein Wert von 0% vorliegt. Dies soll jedoch wie gesagt nur passieren, wenn alle Unterpunkte einen Wert von 0% haben.
Modul 1:
Sub HideRows()
Dim cell As Range
For Each cell In Tabelle1.Range("B2:B10")
If Not IsEmpty(cell) Then
If cell.Value = 0 Then
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
End If
Next
End Sub
Tabelle2:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2:B10")) Is Nothing Then
Call HideRows
End If
End Sub
Ich hoffe das war einigermaßen verständlich. Vielen dank für die Hilfe. LG Franziska
|