in ein Datenbankblatt * 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 Blatt 2 platziert.

  • Für jedes Beispiel gibt es ein Makro, das eine normale Kopie ausführt, und eines, das nur die Werte kopiert.

  • Die Beispiel-Subs verwenden die folgenden Funktionen (die Makros funktionieren ohne die Funktionen nicht).

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)

destrange.Value = sourceRange.Value

End Sub

Function LastRow(sh As Worksheet)

On Error Resume 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 Worksheet)

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