Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
120to124
120to124
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamisches Spalteneinblenden

Dynamisches Spalteneinblenden
20.05.2002 10:19:02
Margot
Eine weitere Hilfesuchende....

Folgende Aufgabenstellung bekomme ich (trotz vieler „effektiver Stunden“ Stöberns im Excel-Forum) nicht in den Griff:

- dynamisches Einblenden von Spalten innerhalb einer Gruppe von Arbeitsblättern in Abhängigkeit des aktuellen Berichtsmonats

Die Details hierzu:
Es existiert ein Workbook mit - aktuell – 15 Worksheets (= 15 Unternehmensfunktionen), in denen jeweils 14 Spalten vorbereitet, aber nur teilweise gefüllt sind:
- Spalte A: Endstand Vorjahr
- Spalten B – M : Endstände pro Monat des laufenden Berichtsjahres (monatsweise Datenaktualisierung per Import-Makro)
- Spalte N: Durchschnittswert für das laufende Berichtsjahr bis zum aktuellen Berichtsmonat („dynamische“ Ermittlung des anzuwendenden Divisors)

Mit einem VBA-Makro möchte ich erreichen, dass bei Anforderung einer Druckaus-gabe in allen (z.Zt.15) Blättern die Spalten A, die dem Berichtszeitraum entsprechen-den Monatsspalten (für den Bericht „Mai“ also B, C, D, E und F) sowie die Spalte N eingeblendet und gedruckt werden.

Für die Profis, die sich der Hilfeschreie annehmen doch sicher kein Problem!?! Auch ein Verweis auf bestehende Lösungen "hülfen" mir sicher sehr

Vielen Dank für eine(n) Lösung(sansatz) im Voraus!


Margot

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Dynamisches Spalteneinblenden
20.05.2002 15:53:48
Klaus Schubert
Hallo Margot,

mal sehen, ob dieser Code in etwa deinen Vorstellungen entspricht.
Mit Alt + F11 in die VBA-Umgebung wechseln und dann in ein normales Modul folgenden Code kopieren:

Jetzt kannst du diesen Code als Makro "Eigene Druckausgabe" starten.
Probier ihn mal aus! Falls Fragen auftauchen oder etwas nicht wie gewünscht funktioniert, dann nochmal melden !

Gruß Klaus


Re: Dynamisches Spalteneinblenden
20.05.2002 18:24:57
Margot
Hallo Klaus,
zunächst "herzlichen Dank" für Deine Mühe.
Dennoch komme ich auf das Angebot zurück und stelle "eine" ergänzende Frage.
"Meine" - jetzige (und glücklicherweise funktionierende)- Lösung - siehe die beiden Macros unten.

Allerdings ärgert mich daran weiterhin - und das ist die Kernfrage - dass es mir nicht gelingt, ein Array der zu bearbeitenden Tabellenblätter mit einer Schleifen-Abfrage zu bearbeiten. Die "Adress-Positionierung" bei meinen Versuchen bleibt immer auf der zuerst angegebenen Tabelle im Array.

Hast Du (oder jemand anders??) dafür eine Lösung

Nochmals - DANKE und schöne Reststunden des "Feiertags" Pfingstmontag - hoffentlich nicht nur mit EXCEL-Problemlösungen...

Margot

Sub Spalten_einblenden()

' in Abhängigkeit vom aktuellen Berichtsmonat werden nur die im Jahresablauf bereits gefüllten Monate eingeblendet

'und hier liegt das "Problem" --> die zu bearbeitenden Blätter müssen in dieser Lösung statisch einge"tippt" werden.
'Schöner (weniger wartungsaufwendig) wäre eine "Schleife" die alle in einer "Gruppe" ( Array von sheets ) definierten Blätter "automatisiert" abarbeitet.
'Das Workbook beinhaltet viel mehr als die hier zu bearbeitenden Worksheets.


Sheets("Jahr_Stamm_APE").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Befr_APE").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_aktive_APE").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Stamm_Koepfe").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Befr_Kopefe").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_aktive_Koepfe").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_FAK").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_AZUBI").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Tarif_40h").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_AT_40h ").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Tar_u_AT_40h ").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Mehr_40hTar").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_ATZ_ArbPh").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Mehrarb").Activate
Call Welche_Spalten_einblenden

Sheets("Jahr_Stamm_APE").Activate
Range("A1").Select

End Sub


Sub Welche_Spalten_einblenden()

' in Abhängigkeit vom letzten Berichtsmonat werden nur die bereits gefüllten Monate eingeblendet
' Im Blatt "Jahr_Durchschnitt" ist in Zelle "A1" der gültige Berichtsmonat - als Zahl (1 - 12) - eingetragen)
Dim Letzter_Monat As Integer
Letzter_Monat = Sheets("Jahr_Durchschnitt").Range("A1").Value

'Alle anderen zu bearbeitenden worksheet sind gleich strukturiert - deshalb der Wunsch nach Verarbeitung in einer (defi-nierten) Gruppe:
'in Spalte 7 ("G") steht in den zu verarbeitenden Sheets der Vorjahres-Vergleichswert
'ab Spalte 8 ("H") sind die aktuellen Monatswerte eingetragen
'in Spalte 20 ("T") steht der - in Abhängigkeit von den im lfd. Jahr vergangenen Monate - Durchschnitt des aktuellen Jahres bis Berichtsmonat
'Spalte 27 ("AA") ist als Trennspalte zwischen Ist und Delta gedacht - "Leerspalte"
'Ab Spalte 28 werden die monatlichen Abweichungen vom Vorjahresendwert errechnet (Jan - Dez(Vorjahr), Feb - Dez(Vorjahr) ...)

'erst einmal alles ausblenden
Range(Columns(8), Columns(42)).Select
Selection.EntireColumn.Hidden = True

' nun die dem Berichtsmonat entsprechende Anzahl Spalten wieder einblenden
Range(Columns(8), Columns(7 + Letzter_Monat)).Select
Selection.EntireColumn.Hidden = False

'die Spalte mit den Durchschnittswerten immer einblenden
Columns(20).Select
Selection.EntireColumn.Hidden = False

'die Leerspalte + die dem Berichtsmonat entsprechenden Deltaspalten für die Monate bis Berichtsmonat einblenden
Range(Columns(27), Columns(27 + Letzter_Monat)).Select
Selection.EntireColumn.Hidden = False

End Sub

Anzeige
Re: Dynamisches Spalteneinblenden
20.05.2002 22:21:40
Klaus Schubert
Hallo Margot,

stellt sich zuerst mal die Frage , welche Kriterien muss ein Blatt denn erfüllen, damit es abgearbeitet werden soll, haben diese Blätter bestimmte Eigenschaften oder wonach wählst du diese aus? (oder hab ich was übersehen?)

Gruß Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige