Clever-Excel-Forum

Normale Version: VB Daten in anderes Tabellenblatt übertragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte gern Daten aus einem Tabellenblatt in ein anderes übertragen. Hierzu habe ich folgendes eingetragen.

Worksheets("Zieltabelle").Rows("3:3").Insert Shift:=xlDown
   Range("Ursprungszelle").Copy
   Worksheets("Zieltabelle").Range("Zielzelle").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False

Das Funktioniert auch, nur möchte ich mehrere Daten übertragen. Mit dieser Variante werden (warum auch immer) nur zwei Datensätze übertragen. Was kann man verwenden um ca. 20 Datensätze in ein anderes Tabellenblatt zu kopieren (diese zu koperenden Daten sind teilweise auch Daten die aus Zellen die Formeln enthalten.

Vielen Dank schon einmal
Hab es dann doch noch heraus gefunden.... nachdem ich mehrere Tage gesucht und probiert hatte

Sub commanbutton1_click()
Sheets("Blatt2").Range("B25:Q500").Copy Sheets("Blatt1").Range("B25")
End Sub
Hallo,

eine grundsätzliche Funktion ist das kleine Makor unten, es gibt noch andere Lösungen. Dazu müsste man Dateils kennen. Für einfache Anwendungen sollte es ausreichen. Auf deine Adressen woher du kopierst konnte ich nicht eingehen, zuwenig Infos. Im Prinzip schiebst du vor dem kopieren ja die Zeile 3 nach unten und fügst immer da ein. Das kannst du mit For Next beliebig oft wiederholen.

mfg  gAst 123

Code:
Sub mehrere_Zeilen_kopieren()
Dim Egb As Variant, i As Integer, x As Integer
Egb = InputBox("Wieviele Zeilen sollen kopiert werden?", "Eingabe")
If Not IsNumeric(Egb) Then MsgBox "Eingabe ist keine Zahl": Exit Sub
If Egb = Empty Then Exit Sub

For j = 0 To Egb - 1   'x= Anzahl Zeilen-1 weg. Start mit 0 !!
  Worksheets("Zieltabelle").Rows("3:3").Insert Shift:=xlDown
  Range("Ursprungszelle").Offset(j, 0).Copy
  Worksheets("Zieltabelle").Range("Zielzelle").PasteSpecial Paste:=xlPasteValues, Transpose:=False
  Application.CutCopyMode = False
Next j
End Sub
Super, Danke