Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: MAKRO Ein/Ausblenden von Zeilen

MAKRO Ein/Ausblenden von Zeilen
Zeilen
Hallo zusammen
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
Userbild
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)
Userbild
= Zeile 8 im Registerblatt Frontpage Eingeblendet
Userbild
= 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
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: MAKRO Ein/Ausblenden von Zeilen
14.08.2012 12:14:29
Zeilen
Hallo,
die Neuberechnung einer Formel löst das Change-Event nicht aus.
Du musst also das Change-Event der jeweiligen Tabelle abgreifen.
Besser noch in DieseArbeitsmappe:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$D$1" Then
If Sh.Index > 1 Then
Sheets(1).Rows(Sh.Name + 7).Hidden = Target = CInt(Sh.Name)
End If
End If
End Sub

Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige