wenn ich eine Tabelle habe und am Ende leere Zellen sind, möchte ich dort Daten einfügen die jedoch in einem anderen Tabellenblatt stehen. Die Daten im Tabellenblatt "zu verschiebene Daten" sollen in den gelben Bereich in das Tabellenblatt "Tabelle" in die gelbe Markierung eingefügt werden. Die Tabelle ist dynamisch, bedeutet das die Menge an Daten beliebig groß ist, dementsprechend soll immer direkt in den Zellen die frei sind, die Daten eingefügt werden.
Nicht ganz. Die Tabelle welche ergänzt werden soll, ist halt beliebig lang. Und es soll ermöglicht werden, dass die Daten automatisch immer unter die letzte befüllte Zeile (Zellen) eingefügt werden. Egal ob die Tabelle 100 Zeilen oder 1000 befüllen Zeilen hat.
[ Bild bitte so als Datei hochladen: Klick mich! ] In der Maske werden die neuen Daten eingegeben und automatisch in der nächsten freien Zeile eingetragen. Bitte mal Tante Gugl, dir etwas über das Erstellen einer Maske in Excel zu verraten. Falls es nicht reicht - du weißt, wo die Helfer erreichbar sind :05: .
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Sub übertragen() Dim lngZ As Long With Sheets("Tabelle") 'Tabelle in die Übertragen wird lngZ = .Cells(.Rows.Count, 3).End(xlUp).Row + 1 .Range(.Cells(lngZ, 3), .Cells(lngZ, 7)) = Sheets("zu verschiebene Daten").Range("C3,C6,C9,C12,C15").Value Sheets("zu verschiebene Daten").Range("C3,C6,C9,C12,C15").Value = "" 'der übertragene Bereich wird geleert End With End Sub
Sub übertragen() Dim lngZ As Long Application.ScreenUpdating = False With Sheets("Tabelle") 'Tabelle in die Übertragen wird lngZ = .Cells(.Rows.Count, 3).End(xlUp).Row + 1 Sheets("zu verschiebene Daten").Range("C3,C6,C9,C12,C15").Copy .Cells(lngZ, 3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=True Sheets("zu verschiebene Daten").Range("C3,C6,C9,C12,C15").ClearContents 'der übertragene Bereich wird geleert End With Application.ScreenUpdating = True End Sub