Microsoft Excel에서 VBA를 사용하여 데이터베이스 시트에 열 또는 열을 복사
-
예제 코드는 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