Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen ausblenden in Abh. v. Zelle

Zeilen ausblenden in Abh. v. Zelle
trompete
Hallo,
habe folgenden Code im Forum gefunden, der der Beschreibung nach, fast genau das ist was ich suche:
Wenn B27 "Ja" sollen die Zeilen 28-38 ein- und wenn "Nein" ausgeblendet werden
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False, xlA1) = "B27" Then
Rows("28:38").Hidden = LCase$(Target.Value) = "ja"
End If
End Sub

Den Code habe ich mit einem Rechtsclick auf die Blattregisterkarte und Linksklick auf "Code anzeigen" in das Modul des Blattes eingefügt.
Wenn ich jetzt die Zellen 28-38 manuell ausblende, kann ich sie durch umstellen der Zelle B27 von Nein auf Ja wieder einblenden, nur das Ausblenden wenn das Ja in B27 zum Nein wird funkioniert nicht.
Kann mir jemand den Code umschreiben, so dass auch das Ausblenden wenn B27 "Nein" auch geht?
AW: Zeilen ausblenden in Abh. v. Zelle
25.09.2010 18:16:33
hary
Hallo
das geht doch siehe Mappe. Nur das ja aendern.
https://www.herber.de/bbs/user/71654.xls
hier der Code.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False, xlA1) = "B27" Then
Rows("28:38").Hidden = LCase$(Target.Value) = "nein"
End If
End Sub

gruss hary
AW: Zeilen ausblenden in Abh. v. Zelle
25.09.2010 18:32:53
trompete
Na supi,
so perfekt dass ich jetzt noch eine Frage habe: Will das "Nein" durch eine "3" ersetzen, wenn ich diese 3 dann in B27 eintippe klappt alles wenn ich die 3 aber über eine Formel aus einer anderen Zelle beziehe (in B27 steht z.B. " Fragebogen!A1) dann geht es nicht, hab schon mal aus "3", 3 gemacht aber das hat zu keinem Erfolg geführt
Anzeige
Worksheet_Calculate()
25.09.2010 18:44:14
Matthias
Hallo
Dann musst Du mit Calculate arbeiten
Private Sub Worksheet_Calculate()
Rows("28:38").Hidden = Worksheets("Fragebogen").Range("A1").Value = 3
End Sub
Gruß Matthias
AW: Worksheet_Calculate()
25.09.2010 19:19:09
trompete
Hallo Mattias,
danke, perfekte Lösung!
Bis zum nächsten mal!
aber gleich mit den richtigen Vorgaben. gruss owT.
25.09.2010 19:32:40
hary
.
hey hary, das sehe ich wirklich auch so ! kwT
25.09.2010 20:28:42
Matthias
AW: Worksheet_Calculate()
26.09.2010 10:04:56
trompete
Hallo,
wie muß ich den Code denn ändern damit er auch in einer gesperrten Mappe funktioniert?
Private Sub Worksheet_Calculate()
Rows("28:38").Hidden = Worksheets("Fragebogen").Range("A1").Value = 3
End Sub
Meine Idee war hier die Befehler "unprotect" und "protect" jeweils vor bzw. hinter der Rows-Zeile einzufügen, sodass die Tabelle zuerst ent- und gleich nach dem Auslenden der Zeilen geperrt wird.
Nur leider sind hier Wunsch und Wirklichkeit bei einem VBA-Laien sehr weit voneinander entfernt.
Kann mir da jochmal jemand helfen
Anzeige
AW: Worksheet_Calculate()
26.09.2010 10:27:55
hary
Moin Moin
versuch's mal so.

Private Sub Worksheet_Calculate()
Protect userinterfaceonly:=True ', Password:="Passwort" ggf passwort setzen
Rows("28:38").Hidden = Worksheets("Fragebogen").Range("A1").Value = 3
End Sub
gruss hary
AW: Worksheet_Calculate()
26.09.2010 10:55:07
trompete
Hallo Hary,
geht perfekt danke!
AW: Worksheet_Calculate()
26.09.2010 12:15:11
trompete
Hallo Hary,
da ich nicht genau weiß wodurch der im Tabellenmodul abgelegte Code aktiviert wird, habe jetzt mit dem neune Code das Phänomen dass wenn ich die Bedingung zum ausführen des Codes erzeuge beginnt der Bildschirm zu flackern als würde eine Menge von Berechnungen durchgeführt!
Anzeige
AW: Worksheet_Calculate()
26.09.2010 12:27:16
hary
Hallo
der Code wird immer gestartet, wenn eine Formel neu berechnet wird.
Ich glaube das richtig waere dann evtl. doch das Change Ereigniss, nur das Du die Zelle A1 ueberwachst.
Wie kommt die 3 in die Zelle A1?
gruss hary
AW: Worksheet_Calculate()
26.09.2010 13:13:50
trompete
Hallo.
der Code sieht in der Realität so aus:
Private Sub Worksheet_Calculate()
Protect userinterfaceonly:=True, Password:="ynhfc123"
Rows("27:47").Hidden = Worksheets("Fragebogen").Range("AH1").Value 
d.h. die zu überwachende Zelle steht in einem anderen Blatt.
Die 3 kommt über die Zuordnung zu einem 3gruppigen Auswahlfeld zustande 1, 2, oder 3
Diese Gruppierung steht in der Tabelle wo auch der Code abgelegt ist.
Anzeige
AW: Worksheet_Calculate()
26.09.2010 13:17:12
trompete
Hallo Hary,
lass stecken, Dein Code ist i.O. ich habe auch noch zwei SVERWEISE in das Blatt gebastelt, wenn ich die lösche ist das Flackern weg, muß mir wohl hier die Parameter moch mal ansehen.
Trotzdem Danke!
AW: Worksheet_Calculate()
26.09.2010 13:30:32
hary
Hallo
teste mal ob's was bringt.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False 'Bildschirm aktuellisierung aus
If Target.Address(False, False, xlA1) = "A1" Then
Sheets("Tabelle1").Rows("28:38").Hidden = Target.Value = 3
End If
Application.ScreenUpdating = True 'Bildschirm aktuellisierung ein
End Sub

gruss hary
Anzeige
AW: hier testmappe
26.09.2010 13:54:49
trompete
Hallo,
das Problem taucht´auch bei dem Code ohne die Steuerung der Bildschirmaktualisierung nur dann auf, wenn ich in dem Bereich der auszublendenden Zeilen eine SVERWEIS-Formel plaziere, sobald ich diesen SVERWEIS lösche ist das Phänomen weg. Ein SVERWEIS in dem Bereich der Zeilen die nicht ausgeblendet werden steht hat dagegen keine Einfluss.
AW: test
26.09.2010 14:08:35
hary
Hallo
hab mal gerade in ein Bsp. Mappe getestet. Sverweisformel in dem auszublenden bereich.
Code geht sauber durch.
evtl. mal eine Bsp.Mappe hochladen.
gruss hary
Anzeige
AW: test
26.09.2010 16:37:28
hary
Hallo
hab mal fluechtig ruebergeschaut. Du hast den Code in Zwei Blaettern. Habe ich einen Code rausgenommen war das flackern weg. Du brauchst doch den Code nur in einer Tabelle.
gruss hary
AW: test
26.09.2010 17:29:33
trompete
Da hast Du wohl recht bin halt Laie,
aber habe jetzt aus der Test-Datei in der Tabelle "Fragebogen den Code geköscht, aber das das Dre......ding flackert weiter sobalb man eine Berechnug startet!
Hast du vielleicht noch eine Idee, neuer File anbei
https://www.herber.de/bbs/user/71664.xls
Anzeige
AW: test
27.09.2010 07:26:31
Dirk
Hallo Trompete,
anedere mal das Makro wie folgt:
Private Sub Worksheet_Calculate()
Protect userinterfaceonly:=True, Password:="ynhfc123"
Application.EnableEvents = False
Rows("27:47").Hidden = Worksheets("Fragebogen").Range("AH1").Value 

Lass' von Dir hoeren, ob ok.
Gruss
Dirk aus Dubai
wurde schon gelöst ...
27.09.2010 09:16:18
Matthias
Hallo Dirk
Nur als Info ...
Da wurde ein neuer Beitrag eröffnet und ist schon erledigt.
https://www.herber.de/forum/messages/1179474.html
Gruß Matthias
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige