31.05.2019, 21:36 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2019, 22:18 von Jnine.)
Hallo liebe Community, Soeben habe ich mich hier angemeldet und benötige dringend Hilfe Zu meiner Verteidigung, ich bin ein Neuling in sachen Excel bzw. VBA Ich habe auch schon ausgiebig nach meinem Problem nachgeforscht aber habe nicht wirklich etwas passendendes für mein problem gefunden. Könntet ihr mir vielleicht helfen mit einer kleinen Erklärung?
Ich habe 2 Excel Dateien In der ersten Excel Datei (Daten_Eingabe.xlsm) möchte ich die eingegebenen Daten in die andere Mappe (Daten_Archiv.xlsm) per Button übertragen und automatisch speichern.
Vielen lieben Dank Oje, ich kann gar nicht meine beispiel mappen hochladen
dann gleich noch den nächsten Button zum Kennenlernen.
Wenn Du antworten willst, benutze bitte den großen blauen "Antworten"-Button. Dann ersparst Du uns Allen, den schon gelesenen bzw. selbst geschriebenen Post noch einmal lesen zu müssen. Den kennen wir nämlich schon.
Wenn Du unbedingt was Spezielles wiederholen willst, beispielsweise weil Du Dich darauf beziehen willst, dann funktionieren Zitate auch durch Kopieren und Einfügen.
mit diesem Code sollte das kopieren gehen. Jede Eingabe wird sofort gespeichert. Sonst muss fürs Speichern einen eigenen Button nehmen.
mfg Gast 123
Code:
Private Sub CommandButton1_Click() Dim WbDA As Worksheet, lzDA As Long Dim WbEg As Worksheet, lzEg As Long 'Mappen in Variable laden Set WbDA = Workbooks("Daten_Archiv.xlsm").Sheets("Daten_Archiv") Set WbEg = Workbooks("Daten_Eingabe.xlsm").Sheets("Daten_eingabe")
'LastZell in beiden Dateien suchen lzEg = WbEg.Cells(Rows.Count, 2).End(xlUp).Row lzDA = WbDA.Cells(Rows.Count, 1).End(xlUp).Row + 1 If lzEg = 1 Then Exit Sub
falls Du die Datei speichern willst, dann musst DU auch selbige nehmen und ncht ein Blatt. Falls Du ein Blatt aus der Datei lösen willst oder eine Kopie als eigenständige Datei erzeugen willst machst Du es mit .move oder .copy.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Sorry aber wie gesagt ich bin totaler neuling in sachen VBA. Ich versteh nicht ganz was Sie meinen Der Quellcode von Gast 123 funktioniert so dann gar nicht?
die Kritik ist eindeutig berechtigt, aber sachlich nicht ganz richtig! Bei meinen Makros ist schon mal eine WENN Verknüpfung drin !!
Sie laufen Komma, in über 1.000 Threads bewiesen, WENN Gast 123 seine dummen Flüchtigkeitsfehler ausgebaut hat!! Punkt! Vorteil: das neue Makro prüft ob die Eingabe der letzten Zeile bereits erfolgt ist. WENN es laeuft ist das eine Verbesserung .... Viel Glück beim Testen. Würde mich freuen wenn es jetzt klappt. Und meine Fehler nimmt man mit 69 gelassen, mit Humor.
mfg Gast 123
Code:
Private Sub CommandButton1_Click() Dim WbDA As Worksheet, lzDA As Long Dim WbEg As Worksheet, lzEg As Long Dim j As Integer, n As Integer 'Mappen in Variable laden Set WbDA = Workbooks("Daten_Archiv.xlsm").Sheets("Daten_Archiv") Set WbEg = Workbooks("Daten_Eingabe.xlsm").Sheets("Daten_eingabe")
'LastZell in beiden Dateien suchen lzEg = WbEg.Cells(Rows.Count, 2).End(xlUp).Row lzDA = WbDA.Cells(Rows.Count, 1).End(xlUp).Row + 1 If lzEg = 1 Then Exit Sub
'Vorptüfung ob schon kopiert wurde ... For j = 1 To 9 If WbEg.Cells(lzEg, j + 1) = WbDA.Cells(lzDA - 1, j) Then n = n + 1 Next j
If n = 9 Then MsgBox "Daten wurden bereits 1 Zeile vorher kopiert": Exit Sub