Kann ich mit einem Button einen Text von der einen Arbeitsmappe (Eingabemaske) in eine andere Arbeitsmappe mit Tabelle (z.Bsp. GL-Mitglied_1) einfügen? Wichtig dabei ist es, dass der neuste Text unter den alten bereits vorher eingefügten Text eingefügt wird.
Ich hoffe jemand versteht in etwa was ich will [img] Dateiupload bitte im Forum! So geht es: Klick mich! ]
Zitat:Text von der einen Arbeitsmappe (Eingabemaske) in eine andere Arbeitsmappe mit Tabelle (z.Bsp. GL-Mitglied_1)
Ich jedenfalls habe es nicht verstanden. Du schreibst ... von einer Arbeitsmappe in die andere. Für mich sieht das aber aus, als sollte von einem Blatt auf ein anderes Blatt in der gleichen Arbeitsmappe kopiert werden.
12.06.2015, 21:14 (Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2015, 21:58 von Rabe.)
Hi Lena,
(12.06.2015, 16:24)Lena_88 schrieb: Dann von einem Blatt ins andere.
hier ein kleines Makro:
OptionExplicit
Sub Pendenz_kopieren() ' ' Pendenz_kopieren Makro ' Dim loLetzteQuelle AsInteger Dim loLetzteZiel AsInteger
' With Sheets("Eingabemaske") 'feststellen der letzten belegten Zeile in Spalte A (1) loLetzteQuelle = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
'die letzte belegte Quell-Zeile wird kopiert .Range("A" & loLetzteQuelle & ":E" & loLetzteQuelle).Copy EndWith
'Auswahl der zu füllenden Tabelle, dies könnte auch nach irgendwelchen Kriterien automatisch erfolgen Sheets("GL-Mitglied_1").Select 'feststellen der letzten belegten Zeile in Spalte A (1) loLetzteZiel = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
'Einfügen in die erste leere Zeile Range("A" & loLetzteZiel + 1).Select ActiveSheet.Paste Application.CutCopyMode = False Range("F" & loLetzteZiel + 1) = "löschen"
Sheets("Eingabemaske").Select 'hier könnte nun die Eingabemaske geleert werden
13.06.2015, 01:17 (Dieser Beitrag wurde zuletzt bearbeitet: 13.06.2015, 01:23 von Käpt'n Blaubär.)
Hallo Lena,
anbei Deine Datei Dateiupload bitte im Forum! So geht es: Klick mich!
Es gibt eben noch ein Leben neben Excel, darum erst jetzt meine Antwort.
Ich gehe davon aus, daß das noch weitergehen wird. Darum habe ich zunächst mal etwas gebaut, wie ich es bisher verstanden habe. Zusätzlich wird beim Öffnen der Datei dafür gesorgt, daß nach dem Start das erste Arbeitsblatt, also Deine "Eingabemaske" ausgewählt wird.
Ich habe den Code großzügig mit Kommentaren versehen und auch noch ein paar Tipps gegeben. Mögen Sie Dir auf Deinem weiteren Weg in's VBA-Universum nützen.
Wie schön erwähnt, ich gehe davon aus, daß das erst der Anfang Deines Projektesi ist. Drum erwarte ich weitere Anfragen.
(13.06.2015, 01:17)Käpt schrieb: Wie schön erwähnt, ich gehe davon aus, daß das erst der Anfang Deines Projektesi ist. Drum erwarte ich weitere Anfragen.
schön gemacht und erklärt. Wobei es mir immer einfacher zu verstehen erscheint, wenn statt "Cells(1, 1) " das "Range("A1")" verwendet wird. Gibt es einen besttimmten Grund für die Verwendung von Cells?
Als Erweiterung würde mich nun noch die automatische Auswahl des Ziel-Tabellenblatts interessieren, z.B. per MsgBox-Abfrage.
13.06.2015, 11:23 (Dieser Beitrag wurde zuletzt bearbeitet: 13.06.2015, 11:29 von Käpt'n Blaubär.)
Hallo Ralf,
Zitat:Wobei es mir immer einfacher zu verstehen erscheint, wenn statt "Cells(1, 1) " das "Range("A1")" verwendet wird. Gibt es einen besttimmten Grund für die Verwendung von Cells?
Programmtechnisch ist "Range()" nicht 100% gleich mit "Cells()". Es gibt auch immer wieder mal Programmteile, die sich mit Cells() nicht lösen lassen. Im Grunde allerdings ist es meiner Meinung nach so, daß es für den einzelnen Progammierer sowas ähnliches wie der "Schmuck am Nachthemd" oder "künstlerische Freiheit" ist. Ich persönlich arbeite eben lieber mit "Cells()"
Ich bin gerne bereit, das mit der Blattauswahl zu erklären aber so ganz richtig habe ich nicht verstanden, in welche Richtung Du mich treiben willst :19: