Clever-Excel-Forum

Normale Version: Text in eine Tabelle kopieren mit Button
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo zusammen

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!
]

Als Beispiel habe ich die Excelliste hochgeladen.

Danke für eure Hilfe!
Hallo Lena,


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.
Genauch richtig. von der einen in die andere Mappe.
wichtig: ist der Text kopiert sollte er in der eingabemaske noch drinnen bleiben.

Geht das?
Hallo Lena,

eine Mappe ist eine Datei, kein Blatt.

Was also ist nun richtig?

In Deiner Anfrage steht übrigens:  Text in eine Tabelle kopieren 
Das wäre das, wie ich es aus Deiner Anfrage gelesen habe.

Und, um die Frage zu beantworten ... es ginge beides 
Wie du merkst ich bin kein Excelprofi Smile

Dann von einem Blatt ins andere.
Hi Lena,

(12.06.2015, 15:24)Lena_88 schrieb: [ -> ]Dann von einem Blatt ins andere.

hier ein kleines Makro:

Option Explicit

Sub Pendenz_kopieren()
    '
    ' Pendenz_kopieren Makro
    '
    Dim loLetzteQuelle As Integer
    Dim loLetzteZiel As Integer
   
    '
    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
    End With
   
    '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
   
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2000-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15



hier die Datei V4 mit Erläuterungen:
[attachment=2244]
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.
Hi Peter,

manchem User wär's lieber, er muss eine Datei nicht von einem Fremdanbieter runterladen. Ich nehme an, du kennst das?
[attachment=2246]
Hi Peter,

(13.06.2015, 00: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.
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:
Seiten: 1 2 3 4