Ich habe da ein Ordner Namens VBZ. Darin sind 23 Unterordner. In diesen Unterordnern hat es jeweils eine Excel Mappe mit minimum 5 bis maximum 128 Tabellenblätter.
Hier das Muster eines Tabellenblattes.
https://www.herber.de/bbs/user/49207.xls
Und das Muster eines Datenblattes.
https://www.herber.de/bbs/user/49212.xls
Leider musste ich die Tabelle ohne Formeln hochladen da sie sonst zu gross gewesen wäre.
Hier nun einige Erklärungen zur Tabelle.
In jeder Tabelle wird
in Spalte A fortlaufend das Datum,
in Spalte B der dazugehörende Tag
und in Spalte C eine Dienstnummer berechnet.
Jede Tabelle ist ein Jahresplan in dem nur die Dienstnummern unterschiedlich sind.
Weiter werden in Spalte D - H die Tagesart berechnet.
Es sind folgende:
Montag - Donnerstag, =1
Freitag, =2
Samstag, =3
Sonntag, =4
Feiertag, =5
Ferien Mo. - Do., =6
Ferien Fr. =7
In Spalte J - N und P - U werden dann die Passenden Dienste zu den Dienstnummern berechnet.
Diese Arbeit mache ich mit einer WENN Formel in die SVERWEIS Formeln eingebunden sind.
Hier ein Beispiel einer solchen Formel
=WENN(ODER((W11=48);(W11=49);(W11=47));" ";(WENN((F11="1");(SVERWEIS(C11; '[Drucken.xls]Mo. - Do.'!$A$1:$V$392;5;FALSCH));(WENN((F11="2");(SVERWEIS(C11; [Drucken.xls]Fr.!$A$1:$X$392;5;FALSCH));(WENN((F11="3");(SVERWEIS(C11;[Drucken.xls]Sa.!$A$1:$X$392;5; FALSCH));(WENN((F11="4");(SVERWEIS(C11;[Drucken.xls]So.!$A$1:$X$392;5;FALSCH));(WENN((F11="5"); (SVERWEIS(C11;'[Drucken.xls]Ferien Dienste Mo. - Do.'!$A$1:$V$619;5;FALSCH));(WENN((F11="6"); (SVERWEIS(C11;'[Drucken.xls]Ferien Dienste Fr.'!$A$1:$V$571;5;FALSCH));(WENN((F11="7");" ";" "))))))) ))))))))
In Spalte W wird noch die Kallenderwoche berechnet.
Mein Problem ist nun folgendes:
Die WENN Formel ist restlos ausgereizt. Ich müsste aber neu noch 3 weitere Kriterien einfügen können.
Das heist ich hätte neu 10 verschiedene Tagesarten.
Jede Tabelle hat pro Blatt über 3000 Formeln. Das heist bei 128 Tabellen in einer Mappe über 384000 Formeln.
Das speichern dauert bei 128 Blättern so ca. 20 Minuten.
Meine Ueberlegung ist nun folgende.
Ist es wohl möglich das ein Makro
1. Bei Zeile 1 beginnt zu prüfen ob eine Tagesart vorhanden ist, wenn ja die Tagesart prüft, wenn nein zur nächsten Zeile springt
2. Anhand der Tagesart die entsprechende Datentabelle auswählt
3. danach gemäss Dienstnummer die richtige Zeile markiert und sie
4. vom Datenblatt zur Tabelle kopiert ohne Dienstnummer
Und das so lange wiederholt bis zum schluss der Tabelle
Ich denke das ist ein riesen Ding aber mit meinen Kenntnissen und mit Formeln kommt man hier so vermute ich nicht mehr weiter.
Sollte hier ein Makro funktionieren so könnte ich sämmtliche Formeln der Spalten J - T löschen was die Speicherzeit sicher enorm verkürzt.
Für euere Bemühungen danke ich euch schon im voraus tausend mal
Mit freundlichen Grüssen
Rolf Wild