Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Kopieren und Einfügen zwischen zwei Excel Dateien


Betrifft: Kopieren und Einfügen zwischen zwei Excel Dateien von: Silke
Geschrieben am: 23.01.2018 15:37:10

Hallo zusammen,

benötige zwei kleine Hilfestellungen.

Ich habe zwei Excel Dateien und möchte einzelne Inhalte von der einen in die andere Datei kopieren bzw. einfügen. Wie mache ich das ohne dass ich ständig hin und her springen muss? Funktioniert das irgendwie einfacher als meine Lösung? (Abgeänderte Makro-Recorder Aufzeichnung)

Des weiteren ändert sich der Namen der einen Datei immer wieder. Da diese Ausführung monatlich gemacht wird. Sprich aus der Datei "PD - Lohn & Gehalt 2017-11" wird beim nächsten mal die Datei "PD - Lohn & Gehalt 2017-12"
Gibt es hierzu auch eine Lösung?

Ich habe das Makro unter der persönlichen Arbeitsmappe abgespeichert so dass schnell darauf zugegriffen werden kann ohne den Code immer wieder kopieren zu müsssen.

Hier mein Code:

Sub Copy_Paste()
'
' Copy_Paste Makro
' Kopieren der Daten und Einfügen in die Makro-Liste
'

'
    Windows("PD - Lohn & Gehalt 2017-11 (Original).xlsm").Activate
    Range("F2").Select
    Range(Selection, Selection.End(xlDown)).Copy
    Windows("Exact-Excel-to-XML-ENTRIES-Lohn.xls").Activate
    Range("P12").Select
    ActiveSheet.Paste
    Windows("PD - Lohn & Gehalt 2017-11 (Original).xlsm").Activate
    Range("B2").Select
    Range(Selection, Selection.End(xlDown)).Copy
    Windows("Exact-Excel-to-XML-ENTRIES-Lohn.xls").Activate
    Range("D12").Select
    ActiveSheet.Paste
    Windows("PD - Lohn & Gehalt 2017-11 (Original).xlsm").Activate
    Range("I2").Select
    Range(Selection, Selection.End(xlDown)).Copy
    Windows("Exact-Excel-to-XML-ENTRIES-Lohn.xls").Activate
    Range("M12").Select
    ActiveSheet.Paste
    
End Sub

Danke euch für die Hilfe

LG Silke

  

Betrifft: AW: Ansatz von: Fennek
Geschrieben am: 23.01.2018 21:02:58

Hallo Silke,

ungeprüft und mit einigen Annahmen (sheets(1)) könnte es so ähnlich aussehen:

Sub Copy_Paste()
'
dim WbQ as workbook
set WbQ = workbook("PD - Lohn & Gehalt 2017-11 (Original).xlsm")
'
with workbook("Exact-Excel-to-XML-ENTRIES-Lohn.xls").sheets(1)
    
    WbQ.sheets(1).Range("F2", Cells(2,"F").end(xldown)).copy .Range("P12")
    WbQ.sheets(1).Range("B2", cells(2,2).end(xldown)).copy .Range("D12")
    WbQ.sheets(1).Range("I2", cells(2,"I").end(xldown)).copy .Range("M12")

end with
End Sub
Der Name der Datei kann z.B. mit einer InputBox dynamisiert werden.

mfg


Beiträge aus dem Excel-Forum zum Thema "Kopieren und Einfügen zwischen zwei Excel Dateien"