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.

Zeilen dynamisch ein und ausblenden
#1
Hallöchen liebe Excel-Gemeinde  :19:

ich habe mir eine kleine Projekt-Exceldatei gebaut, mit der man Aufwände berechnen und Kalenderwochen zuordnen kann.

Folgende Funktionen habe ich mit VBA schon umgesetzt.

1. Im Tabellenblatt "Übersicht" werden immer alle Tabellenblätter die es gibt aufgelistet, sodass man quasi alle Projekte in einer Übersicht hat.

2. Wenn man im jeweiligen Arbeitsblatt, also Projekt, den Status "Change abgenommen" eingibt, blendet sich mit dem nächsten Speichern das Tabellenblatt aus.

Das funktioniert für meine Ansprüche schon hervorragend. 

Nun möchte ich gerne noch folgendes umsetzen und wäre über den einen oder anderen VBA-Code sehr dankbar.  Angel


Wenn man wie bei 2. beschrieben den Status ändert und sich das Tabelleblatt ausblendet, so soll auch die Zeile mit der jeweiligen Projektnummer im Blatt "Übersicht" ausgeblendet werden. Ziel soll also sein, dass dort immer nur alle aktiven Projekte aufgelistet sind. 

Anbei meine bisheriges Werk.

Vielen Dank für eure Hilfe!  :43:
Antworten Top
#2
Hi,

Zitat:Anbei meine bisheriges Werk.

nicht ganz. Wink Du hast vermutlich vergessen, rechts den Button "Attachment hinzufügen" anzuklicken.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Ohhh... vielen Dank für den Hinweis. Nun aber ... Blush


Angehängte Dateien
.xlsm   Ressourcenplanung.xlsm (Größe: 102,02 KB / Downloads: 10)
Antworten Top
#4
hallöchen,

mal ohne in Deine Beispieldatei geschaut zu haben - erweitere Deinen Code um eine Schleife, wo Du die im Blatt Übersicht enthaltenen Blattnamen auf Sichtbarkeit prüfst. Im Prinzip so. Statt der Zahlen 1 bis 100 und der Spalte musst Du natürlich passende Werte programmieren. Falls das Ende der Schleife variabel sein soll , würde auch gehen ...

Code:
'Mit dem Blatt Uebersicht
with Sheets("Übersicht")
'Schleife ueber alle Blattnamen
for iCnt = 1 to 100
 'Zeile entsprechend Status des Blattes ein- oder ausblenden - Blattnamen in Spalte 1 (A)
.cells(icnt,1).entirerow.hidden=Sheets(cells(icnt,1).visible
'Ende Schleife ueber alle Blattnamen
next
'Ende Mit dem Blatt Uebersicht
end with

Anmerkung: Statt der Schleife könnte man auch mit ...find... arbeiten Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo,

ersetze Deinen Code durch diesen:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Dim i As Long
   Dim rngH As Range
   
   With ThisWorkbook.Worksheets("Übersicht").Range("A11").CurrentRegion
       .EntireRow.Hidden = False
       .Offset(1).Resize(.Rows.Count - 1, 1).ClearContents
       Set rngH = .Cells(1)
   End With
   
   For i = 6 To ThisWorkbook.Worksheets.Count
       With ThisWorkbook.Worksheets(i)
           rngH.Hyperlinks.Add _
               Anchor:=rngH.Offset(i - 5), _
               Address:="", _
               SubAddress:="'" & .Name & "'!A1", _
               TextToDisplay:=.Name
           If .Cells(3, 5) = "Change abgenommen" Then
               .Visible = 0
               rngH.Offset(i - 5).EntireRow.Hidden = True
           Else
               .Visible = -1
           End If
       End With
   Next i
End Sub

Gruß Uwe
Antworten Top


Gehe zu:


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