Heute brauche ich mal die Meister der Makroprogrammierung
Folgendes Problem:
Im ersten Excel-Blatt habe ich Zeilen mit einem Bezug zu einem anderen Registerblatt.
Nun möchte ich, dass wenn ich in der entsprechenden Zelle im entsprechenden Registerblatt einen bestimmten Wert eingebe die dazugehörende Zeile im ersten Registerblatt verschwindet.
Ganz Konkret
B8 ='1'!D$1
B9 ='2'!D$1
usw
B8 bis B52 sind jeweils die Zeilen die ich ein resp. ausblenden will, wenn ich in der entsprechenden Registerkarte (Zelle D1) die Zahl 1; 2; 3; usw. eingetragen habe = Ausgeblendet; wenn der Systemname eingetragen ist soll die Zeile eingeblendet sein.
z.B. im Registerblatt 1 (D1)
= Zeile 8 im Registerblatt Frontpage Eingeblendet
= Zeile 8 im Registerblatt Frontpage Ausgeblendet
Dazu habe ich folgendes Makro im Registerblatt 1 erstellt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$8" Then _
Range("A8").EntireRow.Hidden = Target.Text = "1"
If Target.Address = "$B$9" Then _
Range("A9").EntireRow.Hidden = Target.Text = "2"
If Target.Address = "$B$10" Then _
Range("A10").EntireRow.Hidden = Target.Text = "3"
If Target.Address = "$B$11" Then _
Range("A11").EntireRow.Hidden = Target.Text = "4"
If Target.Address = "$B$12" Then _
Range("A12").EntireRow.Hidden = Target.Text = "5"
If Target.Address = "$B$13" Then _
Range("A13").EntireRow.Hidden = Target.Text = "6"
If Target.Address = "$B$14" Then _
Range("A14").EntireRow.Hidden = Target.Text = "7"
If Target.Address = "$B$15" Then _
Range("A15").EntireRow.Hidden = Target.Text = "8"
If Target.Address = "$B$16" Then _
Range("A16").EntireRow.Hidden = Target.Text = "9"
If Target.Address = "$B$17" Then _
Range("A17").EntireRow.Hidden = Target.Text = "10"
If Target.Address = "$B$18" Then _
Range("A18").EntireRow.Hidden = Target.Text = "11"
If Target.Address = "$B$19" Then _
Range("A19").EntireRow.Hidden = Target.Text = "12"
If Target.Address = "$B$20" Then _
Range("A20").EntireRow.Hidden = Target.Text = "13"
If Target.Address = "$B$21" Then _
Range("A21").EntireRow.Hidden = Target.Text = "14"
If Target.Address = "$B$22" Then _
Range("A22").EntireRow.Hidden = Target.Text = "15"
If Target.Address = "$B$23" Then _
Range("A23").EntireRow.Hidden = Target.Text = "16"
If Target.Address = "$B$24" Then _
Range("A24").EntireRow.Hidden = Target.Text = "17"
If Target.Address = "$B$25" Then _
Range("A25").EntireRow.Hidden = Target.Text = "18"
If Target.Address = "$B$26" Then _
Range("A26").EntireRow.Hidden = Target.Text = "19"
If Target.Address = "$B$27" Then _
Range("A27").EntireRow.Hidden = Target.Text = "20"
If Target.Address = "$B$28" Then _
Range("A28").EntireRow.Hidden = Target.Text = "21"
If Target.Address = "$B$29" Then _
Range("A29").EntireRow.Hidden = Target.Text = "22"
If Target.Address = "$B$30" Then _
Range("A30").EntireRow.Hidden = Target.Text = "23"
If Target.Address = "$B$31" Then _
Range("A31").EntireRow.Hidden = Target.Text = "24"
If Target.Address = "$B$32" Then _
Range("A32").EntireRow.Hidden = Target.Text = "25"
If Target.Address = "$B$33" Then _
Range("A33").EntireRow.Hidden = Target.Text = "26"
If Target.Address = "$B$34" Then _
Range("A34").EntireRow.Hidden = Target.Text = "27"
If Target.Address = "$B$35" Then _
Range("A35").EntireRow.Hidden = Target.Text = "28"
If Target.Address = "$B$36" Then _
Range("A36").EntireRow.Hidden = Target.Text = "29"
If Target.Address = "$B$37" Then _
Range("A37").EntireRow.Hidden = Target.Text = "30"
If Target.Address = "$B$38" Then _
Range("A38").EntireRow.Hidden = Target.Text = "31"
If Target.Address = "$B$39" Then _
Range("A39").EntireRow.Hidden = Target.Text = "32"
If Target.Address = "$B$40" Then _
Range("A40").EntireRow.Hidden = Target.Text = "33"
If Target.Address = "$B$41" Then _
Range("A41").EntireRow.Hidden = Target.Text = "34"
If Target.Address = "$B$42" Then _
Range("A42").EntireRow.Hidden = Target.Text = "35"
If Target.Address = "$B$43" Then _
Range("A43").EntireRow.Hidden = Target.Text = "36"
If Target.Address = "$B$44" Then _
Range("A44").EntireRow.Hidden = Target.Text = "37"
If Target.Address = "$B$45" Then _
Range("A45").EntireRow.Hidden = Target.Text = "38"
If Target.Address = "$B$46" Then _
Range("A46").EntireRow.Hidden = Target.Text = "39"
If Target.Address = "$B$47" Then _
Range("A47").EntireRow.Hidden = Target.Text = "40"
If Target.Address = "$B$48" Then _
Range("A48").EntireRow.Hidden = Target.Text = "41"
If Target.Address = "$B$49" Then _
Range("A49").EntireRow.Hidden = Target.Text = "42"
If Target.Address = "$B$50" Then _
Range("A50").EntireRow.Hidden = Target.Text = "43"
If Target.Address = "$B$51" Then _
Range("A51").EntireRow.Hidden = Target.Text = "44"
If Target.Address = "$B$52" Then _
Range("A52").EntireRow.Hidden = Target.Text = "45"
End Sub
Nun mein Problem:Wenn ich in der entsprechenden Registerkarte den Systemnamen, resp. die Zahl (zum Ausblenden) eingebe und mit enter bestätige blendet es im ersten Blatt die Zeile nicht ein oder aus.
Wo mache ich den Überlegungsfehler? Oder wie muss ich das Makro programmieren, dass das funktioniert?
Besten Dank für eure Hilfe.
Gerhard