Wenn Tabellenblatt ausgeblendet, Zeile XY ausblenden
#1
Liebe Forum-Community, 

ich bearbeite gerade in einem Azubi-Projekt eine Tabellenseite mit 80 verschiedenen Seiten und habe dafür eine Übersichtsseite, also ein Inhaltsverzeichnis erstellt. 

In diesem Inhaltsverzeichnis habe ich via Hyperlink die Möglichkeit direkt auf eine der Seiten zu springen und kann mir per S-Verweis den Bearbeitungsstatus anzeigen lassen, der dort per Drop-Down-Menü eingefügt wurde. Soweit so gut. 

Jetzt ist es so, dass nicht jede der 80 Seiten relevant für denjenigen sind, den ich am Ende die Tabelle schicken möchte. Ich werde also gewisse Seiten vor dem Versenden ausblenden. Nun möchte ich wissen, ob es möglich ist, dass die dazugehörige Zeile in meinem Inhaltsverzeichnis dann auch ausgeblendet wird. 

Also wenn ich zum Beispiel Seite 10 ausblende, dass der Hyperlink + S-Verweis zu Seite 10 in meiner Übersicht verschwindet. Notfalls auch nur verfärbt wird. 

Wenn ja, wie schaff ich das am Besten? Ich bin zwar kein Excel-Profi, aber wenn die Anleitung etwas ausführlicher ist, kann ich auch mit VBA etwas anfangen. Vielleicht gibt es auch eine einfache Lösung via Regeln oder so. 

Wäre cool, wenn ihr mir weiter helfen könntet! 

Habe mal eine Beispiel-Datei erstellt, s.U.



Liebe Grüße

Dominic


Angehängte Dateien
.xlsx   Beispielsmappe_excel_forum.xlsx (Größe: 12,36 KB / Downloads: 6)
Top
#2
Hi,

die Links stehen in A1:A80.

Sub weg_damit()
Dim C As Range
For Each C In Range("A1:A80")
    If C <> "" Then
       C.EntireRow.Hidden = (Worksheets(CStr(C.Hyperlinks(1).Parent)).Visible = False)
    End If
Next C
End Sub
Top
#3
Hey, 

und das jetzt einfach über das Entwicklertool in Visual Basic eingeben und abspeichern? 

Wenn ja, funktioniert das in meiner Beispielsmappe nicht. Was mache ich falsch? 

Tut mir leid, dass ich euch so mit basics komme. Ich lerne noch ;)
Top
#4
Hi,

sorry - hatte Deine Beispieldatei gar nicht gesehen.
Damit etwas anders:

Sub weg_damit()
Dim C As Range
For Each C In Range("B6:B80")
    If C <> "" Then
        C.EntireRow.Hidden = (Range(C.Hyperlinks(1).SubAddress).Worksheet.Visible = False)
    End If
Next C
End Sub
Top
#5
Vielen Dank! 

Das hat mir sehr geholfen.
Top


Gehe zu:


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