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

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

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

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

Excel에는 256 개의 열만 있음을 기억하십시오

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