Anzeige
Archiv - Navigation
148to152
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
148to152
148to152
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wenn x dann Spalten ausblenden

wenn x dann Spalten ausblenden
15.08.2002 16:25:58
Michael
Liebes Herber-Team,

ich versuchs nochmal...:

Beispiel: in A1 steht KW1, in B1 KW2 und so weiter (bis zum Ende des Jahres).
Momentan steht in AG1 die aktuelle KW (=33).
Nun sollte das System diese Spalte als aktuelle KW erkennen, die gesamte Spalte z.B. orange hinterlegen und alle Spalten, die KWs zeigen, die mehr als 4 Wochen zurückliegen (=aktuell also vor KW 29) verbergen, so dass in einem Ausdruck nur die KWs ab KW 29 erscheinen.
Die älteren KWs sollen dabei lediglich verborgen und nicht ganz gelöscht werden.

Viele Grüsse,

Michael

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: wenn x dann Spalten ausblenden
15.08.2002 19:01:54
Charlie
Hallo, Michael!

Wenn man sich seine Problem im Forum kostenlos lösen lassen will, muss man schon etwas geduldig sein. Dass das ganze nicht wirklich so einfach ist, zeigen die massenhaften Reaktionen auf Deine Frage. Und Mehrfachpostings erhöhen die Erfolgschancen auch nicht.

Ich gehe davon aus, dass der Kalender bereits für das ganze Jahr erstellt ist und nur mehr das Einfärben und Ausblenden ansteht. Denn zum Aufbau einer Spalte (Kalenderwoche) schweigst Du wieder eisern. Folgende Prozeduren im Modul "DieseArbeitsmappe" erledigen das Einfärben der aktuellen Woche und das Ausblenden der mehr als 4 Wochen zurückliegenden Zeiträume:

Viel Erfolg,
Charlie

Anzeige
Re: wenn x dann Spalten ausblenden
16.08.2002 09:21:41
Michael
Hallo Charlie,

erstmal ein riesiges Dankeschön für die ausführliche Antwort - ich hoffe, die Formel sieht arbeitsintensiver aus, als sie es tatsächlich war...! :-)

Eine Frage habe ich nun doch noch dazu:
müssen die Zellen mit den KWs ein bestimmtes Format oder eine bestimmte Bezeichnung aufweisen ?

Momentan tut sich nämlich nach Ausführen des Makros leider gar nichts - es wird weder die aktuelle Spalte markiert, noch werden ältere Spalten ausgeblendet.

Ich hoffe, Du kannst mir nochmal weiterhelfen - künftig bemühe ich mich auch um detailliertere Fehlerbeschreibungen, versprochen !

Viele Grüsse,
Michael

Anzeige
Re: wenn x dann Spalten ausblenden
16.08.2002 09:56:14
Charlie
Hallo, Michael!

Nein, es ist völlig egal, was in der Spaltenüberschrift steht. Es werden die aktuelle Woche ermittelt, die entsprechende Spalte markiert und die Spalten der mehr als 4 Wochen zurückliegenden Zeiträume ausgeblendet.

Wenn Du mit der 1. Kalenderwoche nicht in Spalte A beginnst, musst Du errechnete Kalenderwoche um die Zahl erhöhen, um die die Wochen nach rechts versetzt sind. Wenn sich die 1 Kalenderwoche z.B in Spalte C befindet, musst Du die Codezeile
intKW = ISOWeek(Now) um 2 erhöhen:
intKW = ISOWeek(Now) + 2

Zusätzlich musst Du die Referenzierung der auszublendenden Spalten auch entsprechend anpassen. Bei KW 1 in Spalte C wäre das
Range(Cells(1, 3), Cells(1, intKW - 4)).EntireColumn.Hidden = True

Derzeit geht das Makro davon aus, dass sich die 1. Kalenderwoche auch in der 1. Spalte befindet. Warum das Makro bei Dir nicht funktioniert, kann ich mir nicht erklären. Klar: Wenn Du es einmal ausgeführt hast, ist der Wert der aktuellen Woche im ausgeblendeten Namen "ActWeek" gespeichert und es passiert nichts, bis sich die nach dem Tagesdatum berechnete Wochennummer ändert.

Du kannst den ausgeblendeten Namen aber mit
ThisWorkbook.Names("ActWeek").Delete
löschen, damit das Makro wieder ausgeführt wird. Einfacher geht es, wenn Du in der Codezeile
ThisWorkbook.Names.Add Name:="ActWeek", RefersTo:=intKW, Visible:=False
alles nach RefersTo:=intKW entfernst. Das muss dann so aussehen:
ThisWorkbook.Names.Add Name:="ActWeek", RefersTo:=intKW

Dann ist der Name "ActWeek" sichtbar und Du kannst ihn auch über Menü "Einfügen" - "Namen" - "Definieren" löschen.

:ich hoffe, die Formel sieht arbeitsintensiver aus, als sie es tatsächlich war
Dazu nur soviel: Das hat wahrscheinlich sogar mehr Zeit und Grübeln gekostet, als man auf den ersten Blick glauben wird. Das Hauptproblem war, eine Lösung dafür zu finden, dass das Makro immer nur an einem Montag ausgeführt wird. Ich hätte es mir auch einfacher machen können, indem das Makro bei jedem Öffnen der Datei abläuft. Du würdest beim Öffnen der Datei wahrscheinlich auch gar keinen Zeitverlust bemerken. Aber den bereits erledigten Vorgang wahrscheinlich nicht nur 1x pro Tag, sondern mehrmals täglich durchzuführen (bei jedem Öffnen der Datei), war mir einfach zu easy. ;)) Mit dem Trick, die Wochennummer der letzten Aktualisierung in einem Namen zu speichern, funktioniert es ganz gut.

Ich hoffe, dass Du das Makro doch noch zum Laufen bewegen kannst. Sonst melde Dich wieder.

Viel Erfolg,
Charlie

Anzeige
Re: wenn x dann Spalten ausblenden
17.08.2002 10:53:54
Michael
Hallo Charlie,

wieder einmal vielen Dank für die super ausführliche Antwort ! :-)
Dazu ein kleiner Zwischenbericht von mir:
--> am Freitag ist es mir noch nicht gelungen, das Makro zu aktivieren; ich werde mir das Ganze aber am Montag nochmal einverleiben und gebe Dir auf jeden Fall Bescheid, ob und wie es geklappt hat.

Bis dahin viele Grüsse und ein schönes Wochenende,
Michael

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige