VBA - Kopieren von einzelnen Dateien in Gesamtdate
Betrifft: VBA - Kopieren von einzelnen Dateien in Gesamtdate
von: Sascha
Geschrieben am: 21.10.2014 15:36:22
Hallo allerseits,
ich habe ein (nicht so neues) Anliegen, was auch schon in mehrere Foren besprochen wurde, aber noch nicht zu 100 % das erfüllt, was ich suche.
Folgende Thematik:
Ich habe 7 Excel-Dateien und möchte aus den 7 Excel-Dateien jeweils aus dem 3 Reiter die Zeile C15:H15 in eine andere Datei untereinander reinkopieren.
Wohin in der Gesamtdatei ist erstmal egal, hauptsache untereinander.
Könnte ihr mir bei dieser Thematik auf die Sprünge helfen ?
Vielen lieben Dank im Voraus
gruß
Sascha
Betrifft: einmal Formel und einmal VBA
von: Tino
Geschrieben am: 21.10.2014 17:55:48
Hallo,
du könntest dies über eine Formel machen.
In jeder Zeile den Pfad zu der Datei anpassen und entsprechend weit nach rechts kopieren.
Formeln der Tabelle |
Zelle | Formel | A2 | ='C:\Ordner\[Datei1.xls]Tabelle3'!C$15 | B2 | ='C:\Ordner\[Datei1.xls]Tabelle3'!D$15 | A3 | ='C:\Ordner\[Datei2.xls]Tabelle3'!C$15 | B3 | ='C:\Ordner\[Datei2.xls]Tabelle3'!D$15 |
|
Oder mit VBA
bei usw... entsprechend für die anderen Dateien erweitern.
Sub CopyData()
Dim strPath$
On Error GoTo ErrorHandler:
With Application
.ScreenUpdating = False
.EnableEvents = False
'Datei1
strPath = "C:\Ordner\Datei1.xls"
With Workbooks.Open(strPath, ReadOnly:=True)
.Sheets(3).Range("C15:H15").Copy _
ThisWorkbook.Sheets("Tabelle1").Range("A2")
.Close False
End With
'Datei2
strPath = "C:\Ordner\Datei2.xls"
With Workbooks.Open(strPath, ReadOnly:=True)
.Sheets(3).Range("C15:H15").Copy _
ThisWorkbook.Sheets("Tabelle1").Range("A3")
.Close False
End With
'usw...
.EnableEvents = True
.ScreenUpdating = True
End With
Exit Sub
ErrorHandler:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox Err.Description, _
vbCritical + vbMsgBoxSetForeground + vbMsgBoxHelpButton, _
"Error: " & Err.Number, Err.HelpFile, Err.HelpContext
End Sub
Gruß Tino
Betrifft: AW: einmal Formel und einmal VBA
von: Sascha
Geschrieben am: 22.10.2014 08:05:29
Hallo tino,
vielen vielen Dank. Echt super. Habe mich für die Variante mit dem Makro entschiede.
Aber diebezgl. habe ich noch eine Frage.
Könnte man den makro auch so eerweitern, dass er beim Öffnen der Dateein auch automatisch den Schreib- und Leseschutz von alleine aufhebt ?
Vielen Dank im Voraus und auch nochmal für den bisherigen Makro:)
Gruß
Sascha
Betrifft: AW: einmal Formel und einmal VBA
von: Tino
Geschrieben am: 22.10.2014 08:35:23
Hallo,
ergänze die Workbooks.Open Anweisung durch die
entsprechende Argumente die Du benötigst.
Das Argument welches du nicht benötigst einfach entfernen!
With Workbooks.Open(strPath, ReadOnly:=True, Password:="???", WriteResPassword:="???")
Gruß Tino
Betrifft: AW: einmal Formel und einmal VBA
von: Sascha
Geschrieben am: 22.10.2014 15:35:53
Hallo Tino,
vielen Dank. Das hat super geklappt. Eine ganz kelien Sache habe ich noch.
Das ist mir dann bei der Anwendung aufgefallen.
Könnte man die kopierten Zellen auch als Werte reinkopieren ?
Vielen Dank nochmal
Sascha
Beiträge aus den Excel-Beispielen zum Thema "VBA - Kopieren von einzelnen Dateien in Gesamtdate"