- De voorbeeldcodes worden gekopieerd naar een databaseblad met de naam Blad2.
- Elke keer dat u een van de subs uitvoert, worden de cellen onder de laatste rij met gegevens of na de laatste kolom met gegevens in blad2 geplaatst.
- Voor elk voorbeeld is er een macro die een normale kopie maakt en een die alleen de waarden kopieert.
- De voorbeeldsubs gebruiken de onderstaande functies (de macro's werken niet zonder de functies).
Sub CopyOneArea() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Range("A1:c10") Set destrange = Sheets("Sheet2").Range("A" & Lr) sourceRange.Copy destrange End Sub CopyOneAreaValues() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Range("A1:c10") Met sourceRange Set destrange = Sheets("Sheet2").Range("A" & Lr). _ Resize(.Rows.Count, .Columns.Count) End With 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).Rij op fout GoTo 0 End Functie Functie Lastcol(sh As Worksheet) On Error Hervat Volgende Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:= xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False). Kolom bij fout GoTo 0 Functie beëindigen