Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro - Spalten kopieren + in neue Datei einfügen

Forumthread: Makro - Spalten kopieren + in neue Datei einfügen

Makro - Spalten kopieren + in neue Datei einfügen
07.11.2005 10:04:16
Wissensdurst
Guten Morgen zusammen,
ich habe mal wieder ein Problem.
Man stelle sich vor, ich habe eine Tabelle Dienstplan, in der links alle Mitarbeiter stehen und rechts davon die Stunden einer kompletten Kalenderwoche
(in etwa so: Spalte D: Montag von, Spalte E: Montag bis, Spalte F: Montag Stunden, Spalte G: Bemerkung, Spalte H: Dienstag von, Spalte I: Dienstag bis). In Zelle D3 steht der Wochentag, in D4 das Datum; das ganze wiederholt sich dann in Zelle H3 und H4 usw.
Jetzt soll per Makro immer die Mitarbeitereinteilung von einem bestimmten Tag (für Montag z.B. Zellen D3:G37, zur Not auch die kompletten Spalten D-G) kopiert werden und in eine andere Datei (eine Vorlage.xls) an einer bestimmten Position in Tabellenblatt 2 eingefügt werden.
Das Optimum wäre natürlich, wenn man im Dienstplan eine Zelle XY hat, wo man das Datum des zu kopierenden Tages reinschreiben könnte und Excel die Zellen dann per Knopfdruck kopiert und anschließend die Vorlage (mit den eingefügten Zellen) unter dem Namen speichert, der auch in der Zelle XY steht (z.B.: 15.11.05.xls).
Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt ;P
Für jede Art von Antworten, auch für Teilantworten bin ich sehr dankbar.
Ich lese mich zwar gerade in VBA ein, aber das dauert halt und ich bräuchte dieses Makro relativ dringend.
Vielen Dank im voraus
Hans
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro - Spalten kopieren + in neue Datei einfügen
07.11.2005 10:17:11
Klaus-Dieter
Hallo Hans,
im Prinzip geht das so:
Option Explicit

Sub lesen_schreiben()
Dim arr As Variant
' einlesen
arr = Worksbooks("DeineMappe.xls").Worksheets("DeineTabelle").Range("D3:G37")
' ausgeben
Worksbooks("Vorlage.xls").Worksheets("DeineTabelle").Range ("D3:G37")
End Sub

Muß natürlich noch auf deine Tabellen angepasst werden.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
Da fehlte was :-(
07.11.2005 10:24:30
Klaus-Dieter
Hallo Micha,
so ist es richtig:

Sub lesen_schreiben()
Dim arr As Variant
' einlesen
arr = Worksbooks("DeineMappe.xls").Worksheets("DeineTabelle").Range("D3:G37")
' ausgeben
Worksbooks("Vorlage.xls").Worksheets("DeineTabelle").Range("D3:G37") = arr
End Sub

Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Makro - Spalten kopieren + in neue Datei einfügen
07.11.2005 11:03:44
Wissensdurst
Hallo Klaus-Dieter,
erst einmal vielen Dank für Deine schnelle Antwort.
Also, wenn ich Dein Makro ausführe, dann kommt bei mir die Fehlermeldung:
"Laufzeitfehler 9 - Index ausserhalb des gültigen Bereichs".
Der Bereich, den ich angegeben habe existiert aber auf beiden Blättern und die Namen sind auch richtig geschrieben?!?!?
Hast Du zufällig auch eine Idee, wie man diesem Makro automatisch die Zellen für den jeweiligen Wochentag übergeben könnte?
Gruß Hans
Anzeige
AW: Makro - Spalten kopieren + in neue Datei einfügen
07.11.2005 12:54:10
Klaus-Dieter
Hallo Hans,
die Fehlermeldung deutet darauf hin, daß zum Beispiel eine der Arbeitsmappen nicht vorhanden oder geöffnet ist, oder eines der Tabellenblätter gibt es nicht.
Kann aber auch sein, dass diese Zeile: Dim arr As Variant so geändert werden müsste: Dim arr() As Variant
Eine automatische Anpassung des Bereichs ist möglich. Dazu müßte ich aber mehr über deine Tabellen wissen. Am besten, du lädst sie mal hoch.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Makro - Spalten kopieren + in neue Datei einfügen
07.11.2005 13:24:15
Wissensdurst
Sooo,
ich habe das ganze jetzt mal etwas vereinfacht und entmüllt ;P
Es soll also der gelb markierte Bereich aus der Wochentabelle automatisch dahin kopiert werden, wo der gelbe Bereich in der anderen Tabelle ist. Das ganze soll so funktionieren, dass ich ein Makro habe, welches anhand des Datums (z.B.: I4) den dazugehörigen Bereich markiert (also 2 nach oben, 21 nach unten, 2 nach rechts, sprich den ganzen gelben Bereich), kopiert und in der anderen Tabelle wieder einfügt. Das Datum soll das Makro aus Zelle XY beziehen, die ich manuell editieren kann (und daneben dann den Button zum ausführen).
Hier die Dateien
https://www.herber.de/bbs/user/28181.xls

Die Datei https://www.herber.de/bbs/user/28182.xls wurde aus Datenschutzgründen gelöscht

Gruß
Hans
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige