- Eksempelkoderne kopieres til et datablad med navnet Sheet2.
- Hver gang du kører en af subs, placeres cellerne under den sidste række med data eller efter den sidste kolonne med data i sheet2.
- For hvert eksempel er der en makro, der laver en normal kopi, og en, der kun er Kopier værdierne.
- Eksempler -subs bruger funktionerne herunder (makroerne fungerer ikke uden funktionerne).
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 Sub CopyOneAreaValues () Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Indstil sourceRange = Sheets ("Sheet1"). Range ("A1: c10") With 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: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Række ved fejl GoTo 0 End Funktion Funktion Lastcol (sh Som regneark) Ved fejl Genoptag Næste Lastcol = sh.Cells.Find (Hvad: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 End Function