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
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
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
Top


Gehe zu:


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