Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen per Makro ausblenden

Zeilen per Makro ausblenden
27.03.2005 16:19:21
Patrick
Hallo zusammen,
im Tabellenblatt 1 ist folgendes Makro:

Private Sub Worksheet_Activate()
Rows("28").EntireRow.Hidden = IIf([Tabelle2!d4].Value = 0, True, False)
Rows("29").EntireRow.Hidden = IIf([Tabelle2!d5].Value = 0, True, False)
Rows("30").EntireRow.Hidden = IIf([Tabelle2!d6].Value = 0, True, False)
End Sub

Es bewirkt, dass im Blatt 1 die Zeile 28 ausgeblendet wird, wenn in Tabelle2 Zelle D4 der Wert "0" eingegeben wird. Wird etwas anderes eingegeben, wird die Zeile wieder eingeblendet.
Das funktioniert auch ganz gut, allerdings muß ich nun so viele Zeilen (ca. 1000) in dieses Makro einfügen, dass sich Excel über die zu große Prozedur beschwert.
Weiß jemand eine Lösung, wie man dieses Zusammenfassen kann und dadurch vielleicht auch noch leichter pflegen lässt?
Gruß
Patrick

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen per Makro ausblenden
27.03.2005 16:30:45
Reinhard
Hallo Patrick,
versuchs mal so

Private Sub Worksheet_Activate()
For n = 4 To 100 'anpassen
Worksheets(1).Rows(n + 24).Hidden = Worksheets(2).Cells(n, 4) = 0
Next n
End Sub

Viele Grüße
Reinhard
AW: Zeilen per Makro ausblenden
27.03.2005 16:58:03
Patrick
Hallo Reinhard,
das funktioniert schon super!
Kann ich das auch so machen, dass ich noch weitere Tabellenblätter einbinde? Siehe:

Private Sub Worksheet_Activate()
Rows("28").EntireRow.Hidden = IIf([Tabelle2!d4].Value = 0, True, False)
Rows("29").EntireRow.Hidden = IIf([Tabelle2!d5].Value = 0, True, False)
Rows("30").EntireRow.Hidden = IIf([Tabelle2!d6].Value = 0, True, False)
Rows("177").EntireRow.Hidden = IIf([Tabelle2!d153].Value = 0, True, False)
Rows("178").EntireRow.Hidden = IIf([Tabelle3!d4].Value = 0, True, False)
Rows("179").EntireRow.Hidden = IIf([Tabelle3!d5].Value = 0, True, False)
Rows("180").EntireRow.Hidden = IIf([Tabelle3!d6].Value = 0, True, False)
Rows("327").EntireRow.Hidden = IIf([Tabelle3!d153].Value = 0, True, False)
End Sub

Das würde mir die Übersicht in der "Datenbank" deutlich erhöhen.
Danke und Gruß
Patrick
Anzeige
AW: Zeilen per Makro ausblenden
27.03.2005 17:06:35
Reinhard
Hallo Patrick,
du schriebst von 1000 zeilen.
Deshalb müsstest du schon sagen was zu wem gehört.
Also etwa so
zeile28-177 zu Tabelle2!4:153
zeile178-327 zu Tabelle3!4:153
zeile328-? zu Tabelle?!4:153
usw
Viele Grüße
Reinhard
AW: Zeilen per Makro ausblenden
28.03.2005 13:13:06
Patrick
Hallo Reinhard,
Ja, es sind ca. 1000 Zeilen in einer Tabelle. Da diese aber in 5 Kategorien einteilbar sind, würde ich es gerne in verschiedene Blätter aufteilen. Es erhöht mir doch deutlich die Übersicht.
Pro Kategorie sind es 200 Einträge, allerdings kann es auch mal abweichen.
Btw.: Die Lösung von Hajo ließ sich gut anpassen.
Danke allen.
Patrick
Anzeige
AW: Zeilen per Makro ausblenden
27.03.2005 16:38:46
Hajo_Zi
Hallo Patric,
schalte den Bildschirm noch aus.
Option Explicit

Private Sub Worksheet_Activate()
Dim LoI As Long
Application.ScreenUpdating = False
For LoI = 28 To 1028
Rows(LoI).EntireRow.Hidden = Worksheets("Tabelle2").Cells(LoI - 24, 4) = 0
Next LoI
Application.ScreenUpdating = True
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Zeilen per Makro ausblenden
28.03.2005 13:14:29
Patrick
Hallo Hajo,
konnte Deine Lösung einsetzen und anpassen. Klappt hervorragend!
Danke
Patrick

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige