2016-09-19 4 views
2

Ich versuche, Daten von einem Arbeitsmappe 'Eingabearbeitsblatt' zu einer anderen Arbeitsmappe 'Master-Arbeitsmappe' zu verschieben. Beide Blätter sind in der gleichen Datei und wenn es möglich wäre, wäre es großartig, wenn beide Dateien nicht zur gleichen Zeit geöffnet sein müssten, um die Daten zu übertragen, aber die Hauptarbeitsmappe würde automatisch speichern, sobald die Daten übertragen wurden. Links zu Bildern der folgenden Dateien, damit Sie besser verstehen, was ich zu tun versuche.Übertragen von Informationen vom Eingabeblatt zum Masterblatt

Die Daten im Eingabearbeitsblatt befinden sich in Zeile 6, Spalten A-J, wobei jeder Benutzer Details zu den Aufgaben eingibt, die er ausfüllen soll. Ich würde gerne, wenn eine Schaltfläche geklickt wird, die Daten aus dem Eingabearbeitsblatt in Zeile 2, Spalten BK in der Master-Arbeitsmappe übertragen, so dass jedes Mal eine neue Aufgabe eingegeben und übertragen wird, erscheint es in der Zeile darunter (so dass es kann später geschwenkt werden, usw.).

http://i.stack.imgur.com/b2cyI.jpg - Eingabeblatt

http://i.stack.imgur.com/JZr0a.jpg - Stammblatt

+0

Wenn Sie etwas versucht haben, schreiben Sie den Code bitte – gizlmo

Antwort

1
  1. Verwenden Sie die here Makros die letzte Zeile in dem Master-Blatt zu bekommen.
  2. Dann schreiben Sie einfach die Werte aus dem Eingabeblatt in die entsprechende Zelle im Masterblatt.
  3. Das ist alles. Dies ist, wie Sie beziehen sich Zellen:

    tbl_master.cells (1,3) = tbl_input.cells (3,5) .Value

Vergewissern Sie sich, dass die Zeile in der tbl_input eine Variable ist, kommt aus der Funktion, Berechnung der letzten Zeile. Versuche es!

Edit: Das ist, was ich für letzte Zeile verwenden:

Public Function last_row_with_data(ByVal lng_column_number As Long, shCurrent As Variant) As Long 

    last_row_with_data = shCurrent.Cells(Rows.Count, lng_column_number).End(xlUp).Row 

End Function 

Wenn Sie die letzte Zeile der Spalte B des Blattes finden wollen „tbl_main“ Sie es so nennen:

last_row_with_data(2,tbl_main) 

Edit2: Ändern Sie hier die Namen Ihrer Blätter und verweisen Sie auf deren Namen. enter image description here

Um dieses Fenster zu erhalten, wählen Sie das Blatt auf der linken Seite und drücken Sie F4.

+0

Danke dafür. Muss ich etwas Spezielles mit dem Makro tun, um die letzte Zeile zu finden, weil Spalte A bereits mit den Zahlen 1,2,3,4,5 usw. gefüllt ist, wobei Spalte b der erste Ort ist, an den meine übertragenen Daten gehen müssen? Auch bezieht sich (1,3) auf die Zellreferenz wie in 1 über, 3 nach unten? Entschuldigung, sehr neu für VBA, aber lernen! –

+0

Hallo @GCob Ich habe es mit etwas bearbeitet, das funktionieren sollte. – Vityata

+0

Danke @Vityata, versuche nur, meinen Kopf herumzukommen. Meine Hauptdatei heißt groupmastertasklist und die Eingabedatei heißt groupaskinputlist. Wie verweise ich auf die Speicherorte der Dateien in dem Makro, wenn auf die Zellen in der Eingabearbeitsmappe verwiesen wird, die zu den Zellen in der Hauptarbeitsmappe gehen müssen? Bisher habe ich Ihre vorgeschlagene Zeile Makro finden, aber nicht sicher, wie Sie im nächsten Teil hinzufügen. Public Function last_row_with_data (ByVal lng_column_number As Long, shCurrent As Variant) As Long last_row_with_data = shCurrent.Cells (Rows.Count, lng_column_number) .End (xlUp) .Row End Function –

Verwandte Themen