Hi,
ich habe den Code in das Modul von Tabelle 3 geschrieben.
Tabelle 3 ist die Tabelle bei den ich in D4-D9 die Werte herausnehme.
In Tabelle 3 soll wenn ich D9 herausnehme, die Spalte I ausgeblendet werden.
Bei D8, Spalte I, bei D7 Spalte G, bei D6 Spalte F, bei D5 Spalte E, bei D4 Spalte D.
In Tabelle 4 soll ebenso die Spalten ausgeblendet werden, wenn ich in Tabelle 3 die Werte D4-D9 herausnehme. Das geht auch.
Momentan funktioniert es nicht in Tabelle 3.
Das ist der Code den ich verwende.
Was ist genau falsch?
Liebe Grüße
Benjamin
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange1 As Range, objRange2 As Range, objCell As Range
Dim lngStep As Long
Set objRange1 = Range(Cells(4, 4), Cells(9, 4))
Set objRange2 = Range(Cells(4, 4), Cells(9, 4))
If Not Intersect(Target, objRange1) Is Nothing Then
For Each objCell In objRange1
With Tabelle4
.Range(.Columns(objCell.Row + 5 + lngStep), .Columns(objCell.Row + 7 + lngStep)).EntireColumn.Hidden = objCell.Value = vbNullString
End With
lngStep = lngStep + 3
Next
ElseIf Not Intersect(Target, objRange2) Is Nothing Then
For Each objCell In objRange2
With objCell
Columns(.Row).EntireColumn.Hidden = Not IsEmpty(.Value) And .Value = 0
End With
Next
End If
Set objRange1 = Nothing
Set objRange2 = Nothing
End Sub
|