ich melde mich mit einem Problem, auf das ich bisher auch beim Suchen im Archiv keine Lösung finden konnte.
Jede Woche erstelle ich eine Liste (siehe Anhang). Sie stellt die Kalenderwoche in A3 dar, die ich aus D1 ermitteln lasse und zusätzlich den Montag der darauf folgenden Kalenderwoche. Die Datei wird dann unter dem Namen mit der entsprechenden Kalenderwoche (ausA3) abgespreichert. Beispiele: "Tableau KW 44", "Tableau KW 45" usw.
Das Problem: Beispielhaft die Kalenderwoche 44 und 45 Ich suche die Möglichkeit, dass die Daten in den Zellen
B3:E32, B33:B36, B37:E43, B44:E47, B52:E59 und B60:AD64
im Tableau der Kalenderwoche 45, den Daten
AD3:AF32, AD33:AD36, AD37:AF43, AD44:AF47, AD52:AF59 und AD60:AD64
aus Kalenderwoche 44 entsprechen.
Am besten wäre es, wenn das automatisch passiert. Also aus der Kalenderwoche im Feld A3 auf den Dateinamen geschlossen wird, aus dem die Daten abgerufen werden sollen.
Ich hoffe ich habe das Problem darstellen können. Bin gespannt ob jemand eine Lösung hat.
nachdem viele den Anhang gesehen haben und noch keine Antwort anhänglich ist, :05: mal ein Hinweis von mir. Das von Dir gewünschte Ergebnis kannst Du "automatisch" z.B. auf 2 Wegen erreichen.
Mit INDIREKT kannst Du auf eine andere Datei zugreifen, wenn diese geöffnet ist. Kennst Du diese Funktion?
Mit einem Makro kannst Du Daten holen, z.B., wenn Du z.B. die Eingabe der KW änderst und / oder wenn Du die Datei öffnest und / oder ..., allerdings auch wieder mit einer Bedingung - Makros müssen erlaubt sein.
Und mal eine Lösung auf die Schnelle ... Manuell könntest Du auch im kompletten Blatt oder auch kleineren markierten Bereichen mit Suchen + Ersetzen in Formeln die KW ersetzen. Ist dann auch nur Sekundensache.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Wenn Du in der Formel irgendwo die KW hast, kannst Du die doch einfach austauschen, wenn Du die Ergebnisse einer anderen Woche sehen willst. ='KW44.xlsx... wird dadurch zu ='KW45.xlsx...
Makro schaue ich mir morgen Abend an, falls nicht zwischendurch jemand anders sich der Sache angenommen hat. Also im Prinzip z.B. - Datei KW44 öffnen - Schleife über 6 Bereiche --> wobei man die beiden mittleren zusammenfassen kann. - Daten kopieren - Daten in KW45 einfügen - Ende Schleife über 6 Bereiche - Datei KW44 schliessen Wäre nur die Frage, wann das geschehen soll, siehe meine vorige Antwort.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
ein Code könnte z.B. so aussehen - kommt in das Codemodul vom Tabellenblatt. Ausgeführt wird er dann immer, wenn Du in D1 was änderst.
Code:
Private Sub Worksheet_Change(ByVal Target As Range) '- Eingabebereich prüfen und ggf. Makro verlassen. EIngabe in D1, KW in A3 If Target.Address <> "$D$1" Then Exit Sub 'Variablendeklarationen 'Array Dim arrSource, arrTarget 'Integer Dim iCnt% 'Arraydaten zuweisen arrSource = Array("B3:E32", "B33:B36", "B37:E43", "B44:E47", "B52:E59", "B60:AD64") arrTarget = Array("AD3:AF32", "AD33:AD36", "AD37:AF43", "AD44:AF47", "AD52:AF59", "AD60:AD64") '- Datei KWxx öffnen. Pfad und Erweiterung ggf. anpassen. '- Bei Bedarf code erweitern und prüfen, ob Datei vorhanden ist Workbooks.Open "I:\Test\Tableau KW " & Cells(3, 1).Value & ".xlsx" '- Schleife über 6 Bereiche --> wobei man die beiden mittleren zusammenfassen kann. For iCnt = 0 To 5 '- Daten kopieren Range(arrSource(iCnt)).Copy '- Daten in KW45 einfügen ThisWorkbook.Sheets("Stärkeübersicht KW").Range(arrTarget(iCnt)).PasteSpecial '- Ende Schleife über 6 Bereiche Next '- Datei KWxx ohne Speichern schliessen ActiveWorkbook.Close False End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • tmessers