Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Makro Kopieren in eine neue Datei
#1
Hallo zusammen,

ich bin leider ein Anfänger was Makro angeht. Ich hoffe es kann mir wer bei meinem Problem helfen.
Ich bräuchte ein Makro für folgendes Problem:

Ich habe zwei Dateien und beide heißen immer gleich und liegen imme am gleichen Ort.
Ich möchte jetzt aus der ersten Datei "Datei1" und dort aus dem Reiter "Reiter1" den Bereich A20 bis D50 in die zweite Datei "Datei2" in den Reiter "Reiter3" in den Bereich A bis D immer ans Ende stellen. Zum Schlus soll sich die zweite Datei weider schließen.
Ich kriege das irgendwie auch mit den Aufzeichnungen nicht hin. Ich müsste das Einfügen als Wert haben, da die Formel nicht übernommen werden sollen.

Vielen Dank im Voraus und Gruß aus dem Norden.
Antworten Top
#2
Hallo, :19:

so mit Makro in Datei1: :21:

Code:
Option Explicit
Public Sub Main()
    Dim wkbBook As Workbook
    Set wkbBook = Workbooks.Open("C:\Temp\Datei2.xlsb")
    wkbBook.Worksheets("Reiter3").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(50, 4).Value = ThisWorkbook.Worksheets("Reiter1").Range("A1:D50").Value
    wkbBook.Close True
    Set wkbBook = Nothing
End Sub

Pfad- und Dateiname und eventuell Tabellenblattnamen anpassen.
________
Servus
Case
Antworten Top
#3
Hallo Case,

danke für die schnelle Antwort. ich habe das Makro so jetzt angepasst. Leider funktioniert es nicht so richtig. Wenn ich das Makro ausführe wird ein Teil der Information(Spalte A:D) oebn links und der Rest unten rechts in die Zweite Datei kopiert.
Heute hatte ich zum Beispiel nur 3 Datenätze, daher wäre der heutige Bereich A20:D23. Manchmal ist das halt mehr und manchmal weniger. Kann es daran liegen? Leider weiß ich nicht woran es liegt. Habe schon einiges versucht. 
DAs öffnen, schließen und kopieren an sich klappt. Nur das die DAten halt komplett getrennt werden.

Vielen Dank für die Hilfe.
Antworten Top
#4
Hallo, :19:

dann probiere es mal so: :21:

Code:
Option Explicit
Public Sub Main()
    Dim wkbBook As Workbook
    Dim lngTMP As Long
    Application.ScreenUpdating = False
    Set wkbBook = Workbooks.Open("C:\Temp\Datei2.xlsb")
    With ThisWorkbook.Worksheets("Reiter1")
        lngTMP = .Cells(.Rows.Count, 1).End(xlUp).Row
        wkbBook.Worksheets("Reiter3").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(lngTMP - 19, 4).Value = .Range("A20:D20" & lngTMP - 19).Value
    End With
    wkbBook.Close True
    Application.ScreenUpdating = True
    Set wkbBook = Nothing
End Sub
________
Servus
Case
Antworten Top
#5
Hi,

vielleicht so:
Public Sub Main()
With Workbooks.Open("C:\Temp\Datei2.xlsb")
.Worksheets("Reiter3").Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(30, 4).Value = ThisWorkbook.Worksheets("Reiter1").Range("A20:D50").Value
.Close True
End With
End Sub
Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste