Ich hoffe, dass mir ein VBA Experte bei meinem kleinen Problem helfen kann. Folgendes ist mein Ziel:
Meine Excel Datei beinhaltet insgesamt 8 Tabellenblätter. Das erste Tabellenblatt ist für eine aufwendige Leistungsberechnung zuständig und fungiert als "Haupttabelle" mit allen Eingabeparametern.
Im letzten Tabellenblatt werden Zwischenrechnungen berechnet.
Nun möchte, dass wenn ich in die Zelle L17 einen Wert eintrage (max. Motordrehzahl) einige Zeilen im Letzten Tabellenblatt ausgeblendet werden. Die eingetragene Zahl dient als obere Grenze für die Auflistung im letzten Tabellenblatt.
Also sobald eine Zeile, deren erste Spalte einen Wert besitzt, der höher als der Wert in der Zelle L17 ist, soll ausgeblendet werden.
Ich habe mir einen Code zusammen gesetzt, der auf den ersten Blick sinnvoll erscheint, jedoch den Fehler 9 "Index außerhalt des gültigen Bereichs" anzeigt. Die Tabellennamen sind alle korrekt geschrieben.
Ich hoffe dass mir jemand helfen kann. Anbei ist mein vorhandener Code.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCell As Range
Set KeyCell = Range("L17")
If Not Application.Intersect(KeyCell, Range(Target.Address)) Is Nothing Then
With Worksheets("Zwischenrechnung")
Application.ScreenUpdating = False
For n = 57 To 196
If .Cells(n, 1).Value > Worksheets("Leistungsberechnung").Cells(17, 12).Value Then
.Rows(1).EntireRow.Hidden = True
Else
.Rows(1).EntireRow.Hidden = False
End If
Next n
Application.ScreenUpdating = True
End With
End If
End Sub