• 예제 코드는 Sheet2라는 이름의 데이터베이스 시트에 복사됩니다.

  • subs 중 하나를 실행할 때마다 셀이 데이터가있는 마지막 행 아래 또는 sheet2의 데이터가있는 마지막 열 뒤에 배치됩니다.

  • 각 예제에는 일반 복사를 수행하는 매크로와 값 복사 만 수행하는 매크로가 있습니다.

  • Example subs는 아래의 기능을 사용합니다 (매크로는 기능 없이는 작동하지 않습니다).

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

Set 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:="*", _

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