Hallo,
Danke für den Hinweis.
Ich habe jetzt die Else If rausgemacht.
Es funktioniert bis auf diese Zeile.
With Tabelle7
.Range(.Columns(objCell.Row + 2)).EntireColumn.Hidden = objCell.Value = vbNullString
End With
Da ist jetzt der Code. Es zeigt in der Zelle einen Fehler an.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange1 As Range, objRange2 As Range, objRange3 As Range, objCell As Range
Dim lngStep As Long
Set objRange1 = 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
With Tabelle7
.Range(.Columns(objCell.Row + 2)).EntireColumn.Hidden = objCell.Value = vbNullString
End With
Columns(objCell.Row).EntireColumn.Hidden = objCell.Value = vbNullString
lngStep = lngStep + 3
Next
End If
Set objRange1 = Nothing
End Sub
Liebe Grüße
Benjamin
|