Kopieren Sie eine Zeile oder Zeilen in ein Datenbankblatt mit VBA in Microsoft Excel

Anonim
  • Die Beispielcodes werden in ein Datenbankblatt mit dem Namen Sheet2 kopiert.
  • Jedes Mal, wenn Sie eines der Subs ausführen, werden die Zellen unter der letzten Zeile mit Daten oder nach der letzten Spalte mit Daten in Blatt2 platziert.
  • Für jedes Beispiel gibt es ein Makro, das eine normale Kopie durchführt und eines, das nur die Werte kopiert.
  • Die Beispiel-Subs verwenden die folgenden Funktionen (die Makros funktionieren nicht ohne die Funktionen).
Sub CopyRow() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Rows("1:1") Set destrange = Sheets("Sheet2").Rows(Lr) sourceRange.Copy destrange End Sub Sub CopyRowValues() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1").Rows("1:1") Set destrange = Sheets("Sheet2").Rows(Lr). _ Resize(sourceRange.Rows.Count) desstrange.Value = sourceRange.Value End Sub Function LastRow(sh als Arbeitsblatt) Bei Fehler Fortsetzen Next LastRow = sh.Cells.Find(What:="*", _ After:=sh. Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function Function Lastcol(sh As Arbeitsblatt) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:= xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function