Hallo zusammen,
ich habe ein kleines Problem mit dem Erstellen eines Loops für ein dynamsiches Diagramm.
Folgendes Szenario:
In Datenblatt 1 ("Effekte") habe ich eine Tabelle (in die der Nutzer Werte einfügen kann) und ein (Wasserfall)Diagramm. In Datenblatt 2 ("Tabelle") befindet sich die Berechnungstabelle für das Diagramm. Die Daten zieht sich Datenblatt 2 aus der Tabelle in Datenblatt 1.
Ich habe es hinbekommen, dass über ein automatisches Makro die Spalten, welche nicht für das Diagramm benötigt werden, in Datenblatt 2 ausgeblendet werden. Jedoch ist das Makro sehr simpel und wiederholt sich einfach. Ich bin mir sicher, dass es sich mit einem Loop lösen lässt, aber stehe auf dem Schlauch.
Für Hilfe bin ich sehr dankbar!
So sieht der Text momentan aus:
Private Sub Worksheet_Change(ByVal Target As Range)
'Ausgangswert
If IsEmpty(Cells(3, 2)) Then
Sheets("Tabelle").Columns(2).Hidden = True 'Ausblendung nicht ausgefüllter Effekte
Sheets("Tabelle").Range("R28") = Sheets("Tabelle").Range("A28") 'Anpassen der Gesamtverä _
nderung
Else
Sheets("Tabelle").Columns(2).Hidden = False 'Einblendung ausgefüllter Effekte
Sheets("Tabelle").Range("R28") = "" 'Die Gesamtveränderung muss nicht angepasst werden
End If
'Effekt 1
If IsEmpty(Cells(5, 2)) Then
Sheets("Tabelle").Columns(3).Hidden = True
Sheets("Tabelle").Range("R29") = Sheets("Tabelle").Range("B29")
Else
Sheets("Tabelle").Columns(3).Hidden = False
Sheets("Tabelle").Range("R29") = ""
End If
'Effekt 2
If IsEmpty(Cells(6, 2)) Then
Sheets("Tabelle").Columns(4).Hidden = True
Sheets("Tabelle").Range("R30") = Sheets("Tabelle").Range("C30")
Else
Sheets("Tabelle").Columns(4).Hidden = False
Sheets("Tabelle").Range("R30") = ""
End If
'Effekt 3
If IsEmpty(Cells(7, 2)) Then
Sheets("Tabelle").Columns(5).Hidden = True
Sheets("Tabelle").Range("R31") = Sheets("Tabelle").Range("D31")
Else
Sheets("Tabelle").Columns(5).Hidden = False
Sheets("Tabelle").Range("R31") = ""
End If
'Effekt 4
If IsEmpty(Cells(8, 2)) Then
Sheets("Tabelle").Columns(6).Hidden = True
Sheets("Tabelle").Range("R32") = Sheets("Tabelle").Range("E32")
Else
Sheets("Tabelle").Columns(6).Hidden = False
Sheets("Tabelle").Range("R32") = ""
End If
'Effekt 5
If IsEmpty(Cells(9, 2)) Then
Sheets("Tabelle").Columns(7).Hidden = True
Sheets("Tabelle").Range("R33") = Sheets("Tabelle").Range("F33")
Else
Sheets("Tabelle").Columns(7).Hidden = False
Sheets("Tabelle").Range("R33") = ""
End If
'Effekt 6
If IsEmpty(Cells(10, 2)) Then
Sheets("Tabelle").Columns(8).Hidden = True
Sheets("Tabelle").Range("R34") = Sheets("Tabelle").Range("G34")
Else
Sheets("Tabelle").Columns(8).Hidden = False
Sheets("Tabelle").Range("R34") = ""
End If
'Effekt 7
If IsEmpty(Cells(11, 2)) Then
Sheets("Tabelle").Columns(9).Hidden = True
Sheets("Tabelle").Range("R35") = Sheets("Tabelle").Range("H35")
Else
Sheets("Tabelle").Columns(9).Hidden = False
Sheets("Tabelle").Range("R35") = ""
End If
'Effekt 8
If IsEmpty(Cells(12, 2)) Then
Sheets("Tabelle").Columns(10).Hidden = True
Sheets("Tabelle").Range("R36") = Sheets("Tabelle").Range("I36")
Else
Sheets("Tabelle").Columns(10).Hidden = False
Sheets("Tabelle").Range("R36") = ""
End If
'Effekt 9
If IsEmpty(Cells(13, 2)) Then
Sheets("Tabelle").Columns(11).Hidden = True
Sheets("Tabelle").Range("R37") = Sheets("Tabelle").Range("J37")
Else
Sheets("Tabelle").Columns(11).Hidden = False
Sheets("Tabelle").Range("R37") = ""
End If
'Effekt 10
If IsEmpty(Cells(14, 2)) Then
Sheets("Tabelle").Columns(12).Hidden = True
Sheets("Tabelle").Range("R38") = Sheets("Tabelle").Range("K38")
Else
Sheets("Tabelle").Columns(12).Hidden = False
Sheets("Tabelle").Range("R38") = ""
End If
'Effekt 11
If IsEmpty(Cells(15, 2)) Then
Sheets("Tabelle").Columns(13).Hidden = True
Sheets("Tabelle").Range("R39") = Sheets("Tabelle").Range("L39")
Else
Sheets("Tabelle").Columns(13).Hidden = False
Sheets("Tabelle").Range("R39") = ""
End If
'Effekt 12
If IsEmpty(Cells(16, 2)) Then
Sheets("Tabelle").Columns(14).Hidden = True
Sheets("Tabelle").Range("R40") = Sheets("Tabelle").Range("M40")
Else
Sheets("Tabelle").Columns(14).Hidden = False
Sheets("Tabelle").Range("R40") = ""
End If
'Effekt 13
If IsEmpty(Cells(17, 2)) Then
Sheets("Tabelle").Columns(15).Hidden = True
Sheets("Tabelle").Range("R41") = Sheets("Tabelle").Range("N41")
Else
Sheets("Tabelle").Columns(15).Hidden = False
Sheets("Tabelle").Range("R41") = ""
End If
'Effekt 14
If IsEmpty(Cells(18, 2)) Then
Sheets("Tabelle").Columns(16).Hidden = True
Sheets("Tabelle").Range("R42") = Sheets("Tabelle").Range("O42")
Else
Sheets("Tabelle").Columns(16).Hidden = False
Sheets("Tabelle").Range("R42") = ""
End If
'Effekt 15
If IsEmpty(Cells(19, 2)) Then
Sheets("Tabelle").Columns(17).Hidden = True
Sheets("Tabelle").Range("R43") = Sheets("Tabelle").Range("P43")
Else
Sheets("Tabelle").Columns(17).Hidden = False
Sheets("Tabelle").Range("R43") = ""
End If
End Sub
|