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).

Denken Sie daran, dass Excel nur 256 Spalten enthält

Sub CopyColumn()

Dim sourceRange As Range

Dim destrange As Range

Dim Lc As Integer

Lc = Lastcol(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Columns("A:A")

Set destrange = Sheets("Sheet2").Columns(Lc)

sourceRange.Copy destrange

End Sub

Sub CopyColumnValues()

Dim sourceRange As Range

Dim destrange As Range

Dim Lc As Integer

Lc = Lastcol(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Columns("A:A")

Set destrange = Sheets("Sheet2").Columns(Lc). _

Resize(, sourceRange.Columns.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