Hallo Zusammen,
ich habe in kleines Problem mit Excel. Leider kann ich die Datei nicht hochladen, da ich damit gegen diverse Schutzrichtlinien hier im Unternehmen verstoßen würde, daher versuche ich Euch das Problem zu schildern.
Ich habe eine Tabelle so formatiert, dass 38 Zeilen in der Druckansicht einer DIN-A-4 Seite entsprechen. Von diesen "Formularen" habe ich 20 Stück erstellt. Die Formularnummer ist in B3, B4, B79 usw. über eine Index-Funktion mit einer Quelltabelle verbunden. Dort wo in der Quelltabelle Einträge vorhanden sind, erscheint die Formularnummer, für die restlichen der 20 Blätter gilt in der entsprechende Fehlwert = 0.
Zudem habe ich jede vorhandene Zeile in Spalte Q mit einem "einblenden" oder "ausblenden" in Abhängigkeit zum Wert in der Zeile für die Formularnummer versehen. So - zumindest in meiner Vorstellung - kann ich automatisch leeren Seiten ("ausblenden") für die Darstellung am Monitor oder zum Druck ausblenden. Dies soll zudem "dynamisch" gesehen, denn die Anzahl der benötigten Formularnummern variiert, mal benötige ich 15 Seiten, mal auch nur 3 Seiten.
Lösen wollte ich das Problem mit folgendem Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile As Long
If Not Intersect(Target, Range("Q1:Q")) Is Nothing Then
Application.EnableEvents = False
For zeile = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Cells(zeile, 17) = "ausblenden" Then
Rows(zeile).EntireRow.Hidden = True
Else
Rows(zeile).EntireRow.Hidden = False
End If
Next zeile
Application.EnableEvents = True
End Sub
Interessanterweise hat der Code einmal dafür gesorgt, das etwa 90% der Zeilen mit einem "ausblenden" ausgeblendet wurden, aber das einblenden bei Veränderung der Anzahl der Zellen mit einer Formularnummer hat schon nicht mehr funktioniert. Nach dem manuellen Wiedereinblenden blieb der Code dann plötzlich völlig wirkungslos, ohne dass ich bewusst etwas verändert hätte.
Ich weiß - ich kann auch einfach manuell einen Filter setzen, aber es gibt Kollegen, die können das nicht und hantieren dann immer mit Dokumenten herum die unnötig viele ungenutzte Seiten beinhalten.
Ich hoffe ich habe den Tabellenaufbau einigermaßen beschrieben und freue mich über jeden Hinweis, wo mein Fehler liegen könnte.
Viele Grüße
Wolfgang