Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen ein- ausblenden wenn...

Tabellen ein- ausblenden wenn...
03.10.2006 15:24:36
Heiko
Hi
Ich möchte gerne Tabellen ein und ausblenden,wenn eine bestimmte Zelle nicht leer ist.
Sprich:
Ich habe die Tabelle1 und dort die Zelle B5, wenn die Zelle nicht leer ist Tabelle2 einblenden, falls leer ausgeblendet lassen
dann Zelle B6 und Tabelle3 usw. bis zu B25 und Tabelle22
Die Tabellenblätter sind vorbereitet!
Danke

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen ein- ausblenden wenn...
03.10.2006 15:54:15
Dieterlem

Sub ausblenden()
If sheets("Tabelle1").Range("B5")="" Then
sheets("Tabelle2").Visible = False
Else
sheets("Tabelle2").Visible = True
end if
End Sub

versuchs mal damit.
AW: Tabellen ein- ausblenden wenn...
03.10.2006 16:02:31
Heiko
Ja genau so!
Jetzt nur sobald der Wert der Zelle leer ist soll angepasst werden und nicht nur beim Start oder Makro aktivieren
und wenn es geht automatisch die Die Zellen B5-B25 überwachen
AW: Tabellen ein- ausblenden wenn...
03.10.2006 16:53:48
fcs
Hallo Heiko,
eine der beiden folgenden Varianten steuert die Aus-/Einblendung der Tabellen bei der Werteingabe im Zellbereich B5:B25.
Variante 1 funktioniert wenn die Tabellenblätter mit gleichem Namen durchnummeriert sind.
Variante 2 lässt beliebige Tabellennamen zu.
Das(Die) Makro(s) muss du im VBA-Editor unter der Tabelle einfügen, in der sich der Bereich B5:B25 befindet.
Gruss
Franz

Variante 1:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Me.Range("B5:B25")) Is Nothing And Target.Cells.Count = 1 Then
If Target.Value = "" Then
Sheets("Tabelle" & (Target.Row - 3)).Visible = False
Else
Sheets("Tabelle" & (Target.Row - 3)).Visible = True
End If
End If
End Sub
'die 3 gibt an welche Tabellen-Nr. relativ zur Zeilennummer von Target sich ändern soll.
'ggf. die Ziffer anpassen, wenn die Zählung der Tabellen anders ist.
Variante 2:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Me.Range("B5:B25")) Is Nothing And Target.Cells.Count = 1 Then
Select Case Target.Address
Case "$B$5"
Call umschaltenBlatt(Target.Value, "Tabelle2")
Case "$B$6"
Call umschaltenBlatt(Target.Value, "Tabelle3")
'für jede Zelle eine weitere Case-Anweisung einfügen
Case Else
'do nothing
End Select
End If
End Sub
Private Sub umschaltenBlatt(Zellwert, Blatt As String)
If Zellwert = "" Then
Sheets(Blatt).Visible = False
Else
Sheets(Blatt).Visible = True
End If
End Sub

Anzeige
AW: Tabellen ein- ausblenden wenn...
03.10.2006 18:36:30
Daniel
Hallo
mal zu den Unterschieden der einzelnen Versionen:
meine Version spricht die Sheets über den Namen an, indem die Zeilen-Nummer (um 3 vermindert) an den Standart-Text "Tabelle" angehängt wird. Hauptnachteil ist, daß du die Tabellennamen nicht frei wählen kanns.
Franzs Variante spricht die Sheets über die Index-Nr. an, was zur folge hat, daß die Sheetnamen zwar völlig unwichtig sind, dafür aber nicht mehr die Reihenfolge, dh wenn du bei Franz Version die Reihenfolge von Tabelle2 und Tabelle3 tauscht, steuert das Feld B5 nicht mehr Tabelle2 sondern Tabelle3 (bei meiner Version würde B5 auch weiterhin Tabelle2 steuern.
in der 3. Variante sprichst du die Tabellen direkt mit dem Sheetnamen an, was zur Folge hat, daß du den Namen zwar auch bliebig wählen kannst, die Reihenfolge egal ist, aber dafür der Code länger wird und du ebenso bei änderungen des Tabellennamens den Code anpassen musst.
Dieses Übel erspart dir nur Franzs Variante.
Gruß, Daniel
Anzeige
AW: Tabellen ein- ausblenden wenn...
03.10.2006 16:16:19
Daniel
Hallo
diesen Code im Makro-Editor im Codebereich von Tabelle1 eintragen.
Geht aber nur, wenn deine Tabellenblätter auch wirklich Tabelle2, Tabelle3 usw. heißen, sonst wirds aufwendiger.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
For Each Zelle In Target
Select Case Zelle.Column = 2 And Zelle.Row <= 25 And Zelle.Row >= 5
Case True
On Error Resume Next
Sheets("Tabelle" & Zelle.Row - 3).Visible = (Zelle.Value <> "")
On Error GoTo 0
Case False
End Select
Next
End Sub

Dieser Code läuft jedesmal ab, wenn sich im tabelle1 was ändert. Wenn sich im Zellbereich B5:B25 was geändert hat, wird die Visible-Eigenschaft der zugehörigen Tabelle auf TRUE gesetzt, wenn die Zelle gefüllt ist und auf False, wenn sie leer ist
Gruß, Daniel
Anzeige
AW: Tabellen ein- ausblenden wenn...
03.10.2006 16:30:16
Heiko
Danke!!!!!
Klappt!!!
Tja eigentlich heißen die Tabellenblätter: 1,2,3,4 sind einfach durchnummeriert!
Aber das Klappt schon mal!!!!
AW: Tabellen ein- ausblenden wenn...
03.10.2006 16:38:05
Heiko
ja so gehts.........
Danke schon einmal für deine Bemühungen!!!

21 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige