Clever-Excel-Forum

Normale Version: Zellen mit VBA Kopieren und wieder einfügen ab bestimmter Zeile
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, 

ich habe eine Formular in dem Daten erfasst werden und diese möchte ich in einer Tabelle sortiert einfügen.

soweit funktioniert das auch alles.

Mein Problem an dem ganzen ist das bei meiner zweiten Auswertung der in den ersten zwei Zeilen durcheinander wiedergibt und etwas nicht passt. 

Die frage ist jetzt wie kann ich dem Script sagen das Zeile 3 die erste ist? 

Hier mal einen ausschnitt aus dem von einer Zelle:
Code:
   WkSh_Q.Range("B21").Copy
   
   WkSh_Y.Range("H" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("B21").ClearContents

Vllt kann mir ja jemand weiterhelfen, schon einmal vielen dank.
Hallo,
   WkSh_Y.Range("H" & Application.Max(3, WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 1)).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Gruß Uwe
(26.07.2020, 23:54)Kuwer schrieb: [ -> ]Hallo,
  WkSh_Y.Range("H" & Application.Max(3, WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 1)).PasteSpecial _
  Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Gruß Uwe


vielen dank, werde ich dann mal direkt Probieren :)
(26.07.2020, 23:54)Kuwer schrieb: [ -> ]Hallo,
  WkSh_Y.Range("H" & Application.Max(3, WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 1)).PasteSpecial _
  Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Gruß Uwe


Hi, hab es grad mal getestet und es funktioniert bei mir nicht.... 


Code:
Private Sub CommandButton3_Click()

Dim WkSh_Q  As Worksheet
Dim WkSh_Z  As Worksheet
Dim WkSh_Y  As Worksheet

   Set WkSh_Q = ThisWorkbook.Worksheets("EingabeMaske")
 
  ' Set objWorbook = Workbooks.Open(Filename:="C:\Desktop\Testdaten.xlsx")
  ' Daten Schichtleistung
  ' Set WkSh_Y = objworkbook.Worksheets("Schichtleistung")
    Set WkSh_Y = ThisWorkbook.Worksheets("SL_bu")

   WkSh_Q.Range("B21").Copy  ' Datum
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("H" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("B21").ClearContents
   
   WkSh_Q.Range("C21").Copy  ' Lieferdatum
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("I" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("C21").ClearContents
   
    WkSh_Q.Range("D21").Copy ' Schichtleistung
    'hier immer die Zelle anpassen die kopiert werden soll
    WkSh_Y.Range("G" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
    Range("D21").ClearContents
   
    WkSh_Q.Range("E21").Copy ' Schicht
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("K" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("E21").ClearContents
   
    WkSh_Q.Range("F21").Copy    ' Mitarbeiter
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("L" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("F21").ClearContents
   
    WkSh_Q.Range("G21").Copy    ' Schichtbegin
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("M" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("G21").ClearContents
   
    WkSh_Q.Range("H21").Copy    ' Schichtende
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("O" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("H21").ClearContents
   
    WkSh_Q.Range("I21").Copy    ' Schichtfuerer
   'hier immer die Zelle anpassen die kopiert werden soll
   WkSh_Y.Range("J" & WkSh_Y.Cells(WkSh_Y.Rows.Count, 1).End(xlUp).Row + 0).PasteSpecial _
   Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
   Application.CutCopyMode = False
   Range("I21").ClearContents


das ist mal das ganze hinter dem von meinem was Kopiert werden soll und in der Auswertung eingefügt werden soll... nur irgendwie fügt er das nicht richtig ein