Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus einer Excel Dat. in eine andere kopieren

Daten aus einer Excel Dat. in eine andere kopieren
11.05.2007 16:40:40
Robert
Hallo, ich benötige dringend Hilfe für ein Makro.
Ich habe 4 verschiedene Excel Dateien, aus denen jeweils der Zellbereich ("H8:I11")
herauskopiert und in eine neue Excel Datei, auf das Blatt "Mail", eingefügt werden soll.
Die 4 Dateien werden täglich aktualisiert, von daher ändert sich jeden Tag der Blattname (immer das Tagesdatum) von dem der Zellbereich kopiert werden soll.
Außerdem kann es vorkommen, dass auch nur mal 3 Dateien vorhanden sind. In diesem fall soll nur ein kurzer Hinweis erscheinen und, entweder soll an dieser Stelle nichts in die neue Datei eingefügt werden
oder es wird etwas in die Zellen geschrieben wie z.B. "No data" o.ä..
Auch der Ordner, in denen sich die Dateien befinden wird täglich erneuert und der Ordnername ist immer das jeweilige Tagesdatum.
Ich hoffe das ist nicht zu viel auf einmal!!
Ich freue mich über Eure Hilfe!
Viele Grüße
Robert

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aus einer Excel Dat. in eine andere kopi
12.05.2007 03:06:00
fcs
Hallo Robert,
ich hab hier eine kleine Steuerdatei gebastelt mit der du die Daten kopieren kannst. Weitere Infos findest du im Tabellenblatt.
Falls die zu kopierenden Bereiche Formeln enthalten, dann sollte man das Makro so anpassen, dass nur Formate und Werte übertragen werden, da sonst immer Verknüpfungen zu den Ursprungsdateien erhalten bleiben, was ggf. sehr lästig werden kann.
https://www.herber.de/bbs/user/42438.xls
Viele Grüße Franz

AW: Daten aus einer Excel Dat. in eine andere kopi
14.05.2007 10:55:00
Robert
Hallo Franz,
vielen vielen Dank für Dein Tool!!
Es ist super!!
Leider habe ich aber noch ein kleines Problem:
Ich muss nämlich nur "Werte" einfügen.
Ich habe versucht, dies in Deinem Makro anzupassen,
schaffe es aber leider nicht.
Könntest Du mir kurz schreiben, wie ich die Zeile:
"rngQuelle.Copy Destination:=wksMail.Cells(Zeile, Spalte)"
anpassen muss?
Vielen vielen Dank!!
Robert

Anzeige
AW: Daten aus einer Excel Dat. in eine andere kopi
14.05.2007 22:05:58
fcs
Hallo Robert,
passe den 2. Teil des Makros wie folgt an. Dadurch werden nur Formate und Werte kopiert. Zusätzlich habe ich die Bildschirmaktualisierung während der Kopiervorgänge deaktiviert. Makro läuft so schneller und Bildschirm "flackert" nicht.
Gruß
Franz

'Tabellenbereiche auslesen
Application.ScreenUpdating = False
For I = 1 To Dateinamen.Rows.Count
'Püfen ob Datei vorhanden
If Dir(Pfad & "\" & Dateinamen(I, 1)) = Dateinamen(I, 1) Then
Set wbQuelle = Workbooks.Open(FileName:=Pfad & "\" & Dateinamen(I, 1), ReadOnly:=True)
Set wksQuelle = wbQuelle.Worksheets(Blatt)
Set rngQuelle = wksQuelle.Range(Bereich)
rngQuelle.Copy
wksMail.Cells(Zeile, Spalte).PasteSpecial Paste:=xlFormats 'Formate kopieren
wksMail.Cells(Zeile, Spalte).PasteSpecial Paste:=xlValues 'Werte kopieren
Zeile = Zeile + rngQuelle.Rows.Count + Zwischenzeilen
wbQuelle.Close savechanges:=False
Else
Set wksQuelle = wksMail
Set rngQuelle = wksQuelle.Range(Bereich) 'DummyBereich für Bereichsgröße
With wksMail
.Cells(Zeile, Spalte).Range(.Cells(Zeile, Spalte), .Cells(rngQuelle.Rows.Count, _
rngQuelle.Columns.Count)).Value = "No Data"
Zeile = Zeile + rngQuelle.Rows.Count + Zwischenzeilen
End With
End If
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Daten aus einer Excel Dat. in eine andere kopi
15.05.2007 16:26:00
Robert
Hallo Franz!
Nochmal vielen Dank für Deine schnelle Hilfe.
Das Makro hilft mir schon sehr weiter!!
Jetzt habe ich aber noch eine kleine Sache, die ich alleine nicht lösen kann.
Kann man, anstatt eine neue Datei zu erstellen auch eine neues temporäres Worksheet erstellen?
Dieses dann nach dem Emailversand wieder löschen?
Beste Grüße
Robert

AW: Daten aus einer Excel Dat. in eine andere kopi
15.05.2007 20:52:16
fcs
Hi Robert,
das ist kein Problem, wobei man natürlich auch eine Datei wieder löschen kann.
Ersetze den Codeabschnitt zum Anlegen des Mailblattes in einer neuen Datei durch folgenden Code.

'Prüfen ob altes Blatt noch vorhanden
For Each wksMail In wbThis.Worksheets
If wksMail.Name = "Mailtmp" Then
If MsgBox("Temporäres Mail-Blatt 'Mailtmp' ist noch vorhanden." & vbLf & vbLf _
& "Blatt löschen?", vbOKCancel, "Temporäres Mail-Blatt erstellen") = vbOK Then
Application.DisplayAlerts = False
wksMail.Delete
Application.DisplayAlerts = True
Else
Exit Sub
End If
End If
Next
'Temporäres Blatt als letztes Blatt einfügen
wbThis.Sheets("Mail").Copy After:=wbThis.Sheets(wbThis.Sheets.Count)
Set wksMail = ActiveSheet
wksMail.Name = "Mailtmp"
'Tabellenbereiche auslesen


Das temporäre Blatt wird dann in der Steuerungsdatei als 3 Blatt angelegt.
Zum Löschen des temporären Blattes kannst du folgende Prozedur vewenden. Dabei wird dann keine _ Meldung angezeigt, ob man das Blatt wirklich löschen möchte.


Sub MailtmpLoeschen()
'Temporäres Mail-Blatt löschen
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Mailtmp").Delete
Application.DisplayAlerts = True
End Sub


Gruß
Franz

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige