Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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
Inhaltsverzeichnis

VBA - Zelle in neue Datei und leere Zeile kopieren

VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 11:10:45
Maike
Guten Morgen,
leider bin ich absoluter VBA-Neuling und komme seit Stunden nicht weiter. Ich hoffe, dass mir hier jemand helfen kann :)
Hintergrund ist folgender: ich habe eine Datei, ich der ich alle Daten erfassen möchte (siehe Bild "Quelle"). Bestimmte Zellen sollen in eine neue Datei kopiert werden (siehe Bild "Ziel"), so dass ich wie in diesem Beispiel eine Liste mit Name, Geburtsdatum und Marke habe. Anschließend sollen die Zellinhalte in der Quelldatei gelöscht werden.
Dabei sollen die Informationen in der Ziel-Datei natürlich nicht überschrieben werden, sondern jeder "Klick" auf den Macro-Button soll zu einer neuen Zeile in der Spalte in der Ziel-Datei führen. An dieser Stelle strauchel ich.
Ich habe folgendes bereits per Macro aufgezeichnet (das ist sicherlich nicht die eleganteste Lösung, aber funktioniert :D):
Sub Makro4()
' Makro4 Makro
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Workbooks.Open Filename:="C:\Users\****\Documents\Ziel3.xlsx"
Windows("Quelle3.xlsm").Activate
Windows("Ziel3.xlsx").Activate
Range("B3").Select
ActiveSheet.Paste
Windows("Quelle3.xlsm").Activate
Range("C5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Ziel3.xlsx").Activate
Range("C3").Select
ActiveSheet.Paste
Windows("Quelle3.xlsm").Activate
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Ziel3.xlsx").Activate
Range("D3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
ActiveCell.FormulaR1C1 = ""
Range("C5").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
ActiveCell.FormulaR1C1 = ""
Range("C10").Select
End Sub
Für jede Hilfe bin ich dankbar! :)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 11:14:13
Maike
Sorry, der Bilder-Upload hat nicht funktioniert.
Userbild
Userbild
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 11:44:44
Regina
Hi,
ich habe Dir den Code mal umgeschrieben und dabei auch gekürzt. Ein Select ist in aller Regel entbehrlich:
Sub Makro4()
' Makro4 Makro
Dim obj_wkb_ziel As Workbook
Dim obj_wkb_quelle As Workbook
Dim lng_letzte_zeile As Long
Workbooks.Open Filename:="C:\Users\****\Documents\Ziel3.xlsx"
Set obj_wkb_ziel = ActiveWorkbook
Set obj_wkb_quelle = ThisWorkbook
' hier Tabellenblattnamen anpassen
lng_letzte_zeile = obj_wkb_quelle.Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Range("C2").Copy obj_wkb_ziel.Cells(lng_letzte_zeile, 2)
Range("C5").Copy obj_wkb_ziel.Cells(lng_letzte_zeile, 3)
Range("F3").Copy obj_wkb_ziel.Cells(lng_letzte_zeile, 4)
obj_wkb_ziel.Close savechanges:=True
' Was hier noch gemacht wird, kann ich nicht beurteilen
ActiveCell.FormulaR1C1 = ""
Range("C5").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
ActiveCell.FormulaR1C1 = ""
Range("C10").Select
End Sub
Gruß
Regina
Anzeige
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 11:56:05
Maike
Hey Regina,
besten Dank!!!! :)
Leider bekomme ich folgende Fehlermeldung: "Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht." und verweist auf diesen Teil:
Range("C2").Copy obj_wkb_ziel.Cells(lng_letzte_zeile, 2)
Woran könnte das liegen?
Der untere Teil löscht den Zellinhalt, der zuvor kopiert wurde in der Quelldatei (damit direkt die nächsten Informationen eingegeben werden können, ohne das der Inhalt jedes Feldes einzeln gelöscht werden muss).
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 11:57:54
Regina
... sorry, das kommt davon, wenn man nicht testet (und sich seiner Sache zu sicher ist).
Nimm mal diesen Code:
Sub Makro4()
' Makro4 Makro
Dim obj_wkb_ziel As Workbook
Dim obj_wkb_quelle As Workbook
Dim lng_letzte_zeile As Long
Workbooks.Open Filename:="C:\Users\****\Documents\Ziel3.xlsx"
Set obj_wkb_ziel = ActiveWorkbook
Set obj_wkb_quelle = ThisWorkbook
' hier Tabellenblattnamen anpassen
lng_letzte_zeile = obj_wkb_ziel.Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Range("C2").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 2)
Range("C5").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 3)
Range("F3").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 4)
obj_wkb_ziel.Close savechanges:=True
' Was hier noch gemacht wird, kann ich nicht beurteilen
ActiveCell.FormulaR1C1 = ""
Range("C5").Select
ActiveCell.FormulaR1C1 = ""
Range("C2").Select
ActiveCell.FormulaR1C1 = ""
Range("C10").Select
End Sub

Anzeige
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 12:16:27
Maike
Die Fehlermeldung taucht nicht mehr auf, allerdings kopiert er ausschließlich das Feld B5 (Geburtstag) der Quelldatei in das Feld B1 der Zieldatei.
Der Rest klappt! :)
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 12:38:48
Regina
Hi,das kann ich so nicht nachvollziehen. Der Quellcode kopiert C2, C5 und F3 aus dem aktuellen Tabellenblatt in die Zieltabelle. Kann es sein, dass Du den Code gestartet hst, als das Blatt mit den Quelldaten nicht "vorne", also "aktiv" war?
Ansonsten müsstest Du Deine Dateien mal hochladen (kein Bild)
Gruß
Regina
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 13:12:06
Regina
ok, da habe ich einen Wechsel zurück zur Quellmappe vergessen (man sollte eben doch nur an Beispieldateien testen).
Hier der neue Code:
Sub Makro4()
' Makro4 Makro
Dim obj_wkb_ziel As Workbook
Dim obj_wkb_quelle As Workbook
Dim lng_letzte_zeile As Long
' Hier Pfad anpassen
Workbooks.Open Filename:="C:\Regina\Ziel.xlsx"
Set obj_wkb_ziel = ActiveWorkbook
Set obj_wkb_quelle = ThisWorkbook
lng_letzte_zeile = obj_wkb_ziel.Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row +  _
1
With obj_wkb_quelle.Worksheets("Tabelle1")
.Range("C2").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 2)
.Range("C5").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 3)
.Range("F3").Copy obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 4)
End With
obj_wkb_ziel.Close savechanges:=True
End Sub

Anzeige
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
26.10.2019 16:29:14
Maike
Hervorragend - funktioniert einwandfrei!! :)
Allerbesten Dank und ein schönes Wochenende!
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
28.10.2019 09:59:12
Maike
Hallo Regina,
ich hab noch ne kurze Frage: ich möchte, dass nur die Werte und keine Formatierunge, Formeln, etc. in die Zieldatei kopiert werden. Wie muss der Code da ergänzt werden?
Vielen Dank für deine Hilfe! :)
AW: VBA - Zelle in neue Datei und leere Zeile kopieren
28.10.2019 10:59:17
Regina
Hallo Maike,
dann musst Du das Kopieren umbauen. Ersetze die 3 Copy-Zeilen durch diesen Code:
obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 2) = .Range("C2").Value
obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 3) = .Range("C5").Value
obj_wkb_ziel.Worksheets("Tabelle1").Cells(lng_letzte_zeile, 4) = .Range("F3").Value
Gruß
Regina
Anzeige

371 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige