647 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe für 2 unterschiedliche Tabellen in einer Arbeitsmappe jeweils ein Worksheet_Change
Makro geschrieben. Beide haben schon funktioniert, allerdings nicht zusammen. Erst hat das
Tabelle1 Makro funktioniert und dann das Tabelle 2 Makro.

Tabelle 1 Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
'Ausblenden von Zeilen in Tabelle 1 (Vorlage Dienstplan) bei Auswahl des entsprechenden Monats.
With Tabelle1
'Auswahl März 2016
If .Range("C4").Text = "März 2016" Then
.Rows("1:9").EntireRow.Hidden = False
.Rows("10").EntireRow.Hidden = True
.Rows("11:15").EntireRow.Hidden = False
.Rows("16:300").EntireRow.Hidden = True
'Auswahl April 2016
ElseIf .Range("C4").Text = "April 2016" Then
.Rows("1:5").EntireRow.Hidden = False
.Rows("6:15").EntireRow.Hidden = True
.Rows("16:19").EntireRow.Hidden = False
.Rows("20").EntireRow.Hidden = True
.Rows("21:25").EntireRow.Hidden = False
.Rows("26:300").EntireRow.Hidden = True
'Auswahl Mai 2016
ElseIf .Range("C4").Text = "Mai 2016" Then
.Rows("1:5").EntireRow.Hidden = False
.Rows("6:25").EntireRow.Hidden = True
.Rows("26:29").EntireRow.Hidden = False
.Rows("30").EntireRow.Hidden = True
.Rows("31:35").EntireRow.Hidden = False
.Rows("36:300").EntireRow.Hidden = True
End If
End With
End Sub

Tabelle 2 Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
'Ausblenden von Zeilen in Tabelle 2 (Startseite) bei Auswahl des entsprechenden Kriteriums.
With Tabelle2
'Auswahl 30 Tage
If .Range("E4").Text = "30 Tage" Then
.Columns("A:AG").EntireColumn.Hidden = False
.Columns("AH:CO").EntireColumn.Hidden = True
'Auswahl 60 Tage
ElseIf .Range("E4").Text = "60 Tage" Then
.Columns("A:BK").EntireColumn.Hidden = False
.Columns("BL:CO").EntireColumn.Hidden = True
'Auswahl 90 Tage
ElseIf .Range("E4").Text = "90 Tage" Then
.Columns("A:CO").EntireColumn.Hidden = False
End If
End With
End Sub


Muss ich die eventuell irgendwie durch .Activate erst aktivieren?

Danke im Voraus für Eure Hilfe.

Gruß
Daniel

1 Antwort

0 Punkte
Beantwortet von
Hallo Daniel,

Ich gehe mal davon aus, dass du die beiden Makros separat in den Modulen "Tabelle1" und "Tabelle2" liegen hast was erstmal korrekt ist.

Was meinst du also damit, dass die zusammen funktionieren sollen? Kann es sein, dass du in Zelle E4 von Tabelle 2 eine Formel stehen hast, die abhängig von deiner Eingabe in Tabelle1 dann 30, 60 oder 90 Tage ausgibt? In diesem Fall greift das Worksheet_Change Ereignis nicht, da dies nur bei manueller Änderung ausgeführt wird.

Sollte dem so sein, solltest du die Formel in deinem Makro von Tabelle1 nachbilden und dann von dort aus deine Ein-/Ausblendungen in Tabelle2 vornehmen.

Gruß Mr. K.
...