Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeile auf anderer Tabelle ausblenden, wenn Zelle leer ist
#1
Hallo.

Ich stehe vor dem Problem, dass ich auf Tabelle 2 eine Zeile ausblenden muss, wenn eine Zelle auf Tabelle 1 leer ist.
Dabei sind die Zeilennummern auf Tabelle 1 und 2 um 2 verschoben.

Beispiel:

Wenn Zelle A5 auf Tabelle 1 leer ist, dann soll Zeile 7 auf Tabelle 2 ausgeblendet werden. 
Wenn Zelle A6 auf Tabelle 1 leer ist, dann soll Zeile 8 auf Tabelle 2 ausgeblendet werden.
Wenn Zelle A127 auf Tabelle 1 leer ist, dann soll Zeile 129 auf Tabelle 2 ausgeblendet werden.
usw.

Ich habe folgendes im Netz gefunden:
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Cells(1, 1)) Is Nothing Then _
        Tabelle2.Rows("50:100").Hidden = IsEmpty(Cells(1, 1).Value)
End Sub

Ich bin aber zu dusselig, das auf meine Situation umzumodeln.
Vielleicht kann mir dabei jemand helfen?

Vielen Dank!

Björn
Antworten Top
#2
Hallo,

ich würde das bei Aktivierung der Tabelle2 erledigen, vorher siehst Du ja nicht, ob ausgeblendet oder nicht.

Dazu folgenden Code in das Code Modul der Tabelel2:

Code:
Private Sub Worksheet_Activate()
   With Sheets("Tabelle1")
      Rows(7).Hidden = .Range("A5") = ""
      Rows(8).Hidden = .Range("A6") = ""
      Rows(129).Hidden = .Range("A127") = ""
   End With
End Sub


Wenn Du aber unbedingt Deine Variante nutzen möchtest, das ginge so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5:A6,A127")) Is Nothing Then
      Select Case Target.Address(0, 0)
         Case "A5"
            Sheets("Tabelle2").Rows(7).Hidden = Target.Value = ""
         Case "A6"
           Sheets("Tabelle2").Rows(8).Hidden = Target.Value = ""
         Case "A127"
            Sheets("Tabelle2").Rows(8).Hidden = Target.Value = ""
      End Select
   End If
End Sub

Dieser Code kommt dann in das Code Modul der Tabelle1.
Gruß Atilla
Antworten Top
#3
Hier noch eine Variante, bei du festlegen mußt, wieviele Einträge es in der Spalte A gibt (und wie groß der Versatz sein soll - in Deiner Anfrage = 2). Hier geht das Programm jede Zelle durch und prüft ob was enthalten ist.

Sub Ausblenden()
    Anzahl = 127
    Versatz = 2
    For i = 1 To Anzahl + Versatz
       If IsEmpty(Tabelle1.Range("A" & i).Value) = True Then
            Worksheets("Tabelle2").Rows(i + Versatz).Hidden = True
       Else:
            Worksheets("Tabelle2").Rows(i + Versatz).Hidden = False
    End If
  Next i
End Sub


Gruß
Statler
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste