ja na klar draft du zigig sein, das ist auch verständlich!! Ich habe es in zwischen schon selber hinbekommen, Wuste nur zu Anfang nicht wie ich es am besten einordne an die richtige stelle der VBA. Momentan Grübel ich gerade nur über mein Spalte 5, da ich mir kein reim draus machen kann warum meine Formeln gelöscht werden
17.08.2022, 18:31 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2022, 18:40 von d'r Bastler.)
Moin,
bezüglich Deiner PN, meiner Antwort und nach kurzem Nachdenken: Die Anordnung der Quellfelder lässt auf Beschriftungen und Formeln ringsherum schließen: Also werden nur die Quellzellen gelöscht. Auf Blattwechsel und Msgboxen habe ich jetzt komplett verzichtet, ebenso auf den Testdaten-Button. Du kannst also ohne Unterbrechungen neue Daten eingeben und übertragen. Den Erfolg erkennst Du an den leeren Quellzellen. Den Übertragen-Button kannst Du beliebig benennen und verschieben.
Nachtrag: Nachdem die letzten Posts noch gelesen habe: Wenn Du die übertragenen Daten korrigieren möchtest, kannst Du einfach in der Zieltabelle tun. Zum Löschen löscht Du bitte nicht nur die Werte, sondern die ganze Zeile. Dann klappt's auch mit den nächsten Einträgen. Einfacher und stabiler geht's m.E. (und das beruht auf den bisher gegebenen Informationen) nicht. Viel Spaß!
d`r Bastler von den VBAsteleien.de Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
18.08.2022, 01:38 (Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2022, 01:42 von d'r Bastler.)
Moin!
Um es Dir etwas einfacher zu machen, habe ich den Code nochmal etwas eingedampft. Kopiere ihn in ein allg. Modul Deiner bestehenden Tabelle mit all den Formeln usw. Passe die Tabellennamen an und lege das Makro dann auf eine Tastenkombi (Alt+F8 > Optionen...) oder eine Befehlsschaltfläche in der Eingabe-Tabelle.
Code:
Option Explicit
Sub CopyToNextSheetLastLine() Dim wsQ As Worksheet, wsZ As Worksheet Dim i As Integer, r As Integer Dim aAdrQ, aAdrZ
Set wsQ = Sheets("Quelle") 'ANPASSEN! Set wsZ = Sheets("Ziel") 'ANPASSEN!
aAdrQ = Array("B27", "B21", "D21", "B24", "B32", "B35", "B38") 'das sind die statischen Adressen der Quelle aAdrZ = Array("A", "B", "C", "D", "F", "G", "H") 'das die statischen Spalten des Ziels
r = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1 For i = 0 To UBound(aAdrQ) wsZ.Range(aAdrZ(i) & r) = wsQ.Range(aAdrQ(i)) 'überträgt die Werte auf Knopfdruck in die erste freie Zeile wsQ.Range(aAdrQ(i)) = vbNullString 'löscht die Eingabefelder der Quelle Next i
End Sub
Viel Spaß und Grüße
d`r Bastler von den VBAsteleien.de Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
d'r Bastler hir mal ein Bild zu meiner PN. Ich habe mal zur Veranschaulichung wild ein par angaben reingeschmissen, es wir für dich zwar kein sin machen aber es geht mir darum das bei meiner Arbeit nicht immer allle Zeilen aus Bearbeitungs gründen gefühlt werden, vor allem in meiner Bemerkung Spalte, wal da Kürzel als Haft Notiz eingetragen werden zum selektieren !