1.같은시트로 복사하기
Sub 데이터_복사()
Dim 원본_범위 As Range
Dim 대상_범위 As Range
' 복사할 데이터의 원본 범위를 지정합니다.
Set 원본_범위 = Range("A1:C10")
' 데이터를 붙여넣을 대상 범위를 지정합니다.
Set 대상_범위 = Range("E1")
' 데이터를 복사하여 붙여넣습니다.
원본_범위.Copy 대상_범위
End Sub
2. 다른 시트로 복사하기
Sub CopyData()
Dim sourceSheet As Worksheet
Dim targetSheet As Worksheet
Dim sourceRange As Range
Dim targetRange As Range
' 복사할 데이터의 시트와 범위를 지정
Set sourceSheet = Worksheets("Source")
Set sourceRange = sourceSheet.Range("A1:B4")
' 붙여넣을 데이터의 시트와 범위를 지정
Set targetSheet = Worksheets("Target")
Set targetRange = targetSheet.Range("B1")
' 데이터 복사
sourceRange.Copy Destination:=targetRange
End Sub
3.복사 후 새 파일에 붙여넣기
Sub CreateNewFileAndCopyData()
Dim sourceWorkbook As Workbook
Dim sourceSheet As Worksheet
Dim sourceRange As Range
Dim newWorkbook As Workbook
Dim newSheet As Worksheet
Dim newFilePath As String
' 원본 통합문서와 시트 지정
Set sourceWorkbook = ThisWorkbook
Set sourceSheet = sourceWorkbook.Sheets("Sheet1")
' 원본 범위 지정
Set sourceRange = sourceSheet.Range("A1:B4")
' 새로운 통합문서 생성
Set newWorkbook = Workbooks.Add
Set newSheet = newWorkbook.Sheets(1)
' 데이터를 새 통합문서에 붙여넣기
sourceRange.Copy Destination:=newSheet.Range("A1")
' 새 통합문서를 원하는 파일경로와 이름으로 저장하기
newFilePath = "D:\VBA Folder\NewWorkbook.xlsx"
newWorkbook.SaveAs newFilePath
' 새 통합문서 닫기
newWorkbook.Close
End Sub
4. 선택한 범위를 잘라내서 다른 범위에 붙여넣기
Sub CutRange()
Dim sourceRange As Range
Dim targetRange As Range
' 잘라낼 원본 범위 지정
Set sourceRange = Range("A1:B10")
' 붙여넣을 대상 범위 지정
Set targetRange = Range("D1")
' 원본 범위를 잘라내어 붙여넣기
sourceRange.Cut targetRange
End Sub
5.선택하여 붙여넣기
매크로 기록한 코드입니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
약간 다듬은 코드입니다.(값만 붙여넣기)
Sub CopyAndPasteValues()
Range("A1").CurrentRegion.Copy
Range("D1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
위 코드는 선택하여 붙여넣기에서 값을 선택한 것과 같습니다.
다음은 연산에서 더하기를 선택한 예제입니다.
Sub CopyAndPasteValuesAdd()
With Worksheets("Sheet1")
.Range("C1:C5").Copy
.Range("D1:D5").PasteSpecial _
Operation:=xlPasteSpecialOperationAdd
End With
Application.CutCopyMode = False
End Sub
매크로 실행 전
매크로 실행 후
XlPasteType 상수와 XlPasteSpecialOperation 상수는 링크를 참고하세요.(캡춰를 했으나 그림이 잘 보이지 않아서 링크로 걸었습니다)
XlPasteType enumeration (Excel)
Office VBA reference topic
learn.microsoft.com
XlPasteSpecialOperation enumeration (Excel)
Office VBA reference topic
learn.microsoft.com
'Range object' 카테고리의 다른 글
[Range개체] Resize 속성 (0) | 2023.06.29 |
---|---|
[Range 개체] Offset Property (0) | 2023.06.28 |
셀에 수식 입력하기 (0) | 2023.06.25 |
셀에 값 입력하기 (0) | 2023.06.25 |
셀 및 범위 선택하기 (0) | 2023.06.23 |