-
엑셀 매크로 (VBA) - 002. 선택하여 붙여 넣기 기능 정리Excel/Excel 매크로 2022. 8. 13. 16:03728x90
전체 목차
- 001. 특정 행을 복사하여 삽입하기
- 002. 선택하여 붙여 넣기 기능 정리
- 003. 변수/Assignment/Loop/비교
- 004. 데이터가 있는 셀의 범위 알아내기
- 005. 데이터 시트(쉘) 순회하기
- 006. 셀 병합 하기
- 007. 변수에 저장되어 있는 데이터 확인하기 (디버그 기능)
- 008. 정렬하기 (Sort)
- 009. 버튼 컨트롤 (Excel Form vs. ActiveX)
- 010. 콤보 상자 컨트롤 (Excel Form vs. ActiveX)
- 011. 확인란/옵션단추 컨트롤(Excel Form vs. ActiveX)
- 012. 스핀단추 컨트롤(스피너, Excel Form vs. ActiveX)
- 013. 자동필터(Auto Filter)
- 014. 함수(function) (전편)
- 015. 함수(function) (후편)
- 016. 중복 데이터 제거하기
- 017. 텍스트 나누기 (공백, 특수문자)
- 018. Vlookup으로 데이터 조회하기(주식 종목 코드 조회)
- 019. 런타임 에러 처리 (1)
- 020. 런타임 에러 처리 (2)
- 020. 인풋박스 (InputBox) 사용 방법
포스트 목차.
01. 선택하여 붙여 넣기 기능엑셀을 사용하다 보면 데이터를 복사하여 붙여넣기를 할 일이 많이 발생한다. 그냥 일반복사(Ctrl + C, Ctrl + V)의 경우 셀의 모든 정보(값 또는 수식, 서식)들이 함께 복사된다
다음과 같은 상황을 가정해보자.
- 셀이 대부분 수식으로 구성되어 있다.
- 나는 셀에 저장되어 있는 값만 복사하고 싶다.
이 경우에 일반복사를 수행하면, 수식이 복사되기 때문에, 내가 원하는 결과를 얻지 못할 수 있다.
다음 그림과 같이 D열 BMI는 키와 체중에 관련된 수식으로 계산이 된다.
D열의 정보를 E열에 일반복사하면 수식이 복사되기 때문에 E열에는 내가 의도하지 않은 수식이 복사가 되어 값이 뒤틀리게 된다.
일반 복사의 경우 이럴때 필요한 기능이 선택하여 붙여넣기이다.
선택하여 붙여넣기는 Ctrl + Alt + v 또는 우클릭 후 붙여넣기 옵션에서 선택 가능하다.
붙여넣기 부분에서 값을 선택할 경우, 값만 복사 된다. 02. 매크로로 선택하여 붙여 넣기 기능 수행선택하여 붙여넣기에 해당하는 매크로 명령은 PasteSpecial이다. Range객체 다음에 사용하면 된다.
- PasteSpecial
Range 객체와 연동하여 해당 Range에 붙여넣기를 실행한다.
PasteSpecial Paste := [옵션값] Operation := [옵션값] SkipBlanks := [옵션값] Transpose := [옵션값]
*Paste: XlPasteType의 값들 (선택하여 붙여넣기의 붙여넣기 속성에 해당)
*Operation: XlPasteSpecialOperation의 값들 (선택하여 붙여넣기의 연산에 해당)
*SkipBlanks: True일 경우 내용이 없는 셀을 카피 하지 않는다. (선택하여 붙여넣기의 내용 있는 셀만 붙여넣기)
*Transpose: True일 경우 열과 행을 바꿔서 복사한다. (선택하여 붙여넣기의 행/열 바꿈)
*Paste 옵션
Name Value 설명 xlPasteAll -4104 모두 복사 xlPasteExceptBorders 7 테두리만 제외 xlPasteAllMergingConditionalFormats 14 조건부서식 모두 병합 xlPasteAllUsingSourceTheme 13 원본 테마 사용 xlPasteColumnWidths 8 열 너비 xlPasteComments -4144 메모 xlPasteFormats -4122 서식 xlPasteFormulas -4123 수식 xlPasteFormulasAndNumberFormats 11 수식 및 숫자 서식 xlPasteValidation 6 유효성 검사 xlPasteValues -4163 값 xlPasteValuesAndNumberFormats 12 값 및 숫자 서식 *Operation 옵션
Name Value 설명 xlPasteSpeialOperationAdd 2 더하기 xlPasteSpeialOperationDivide 5 나누기 xlPasteSpeialOperationMultiply 4 곱하기 xlPasteSpeialOperationNone -4142 없음 xlPasteSpeialOperationSubstract 3 빼기 03. 매크로 사용 예제 소개D열의 2번째 행부터 9번째 행까지의 정보를 선택한 영역에 값만 복사하는 매크로를 만들어보자.
G2셀을 선택 후 매크로를 실행하면 D열의 정보를 값만 복사한다고 보면된다.
다음 과정을 수행하는 매크로를 작성하자
- 매크로 작성을 위해 개발도구 Visual Basic을 선택 후 모듈을 삽입한다.
- D열의 2행부터 9행까지의 영역을 복사한다.
- 선택 영역에다가 선택하여 붙여넣기를 수행한다. (paste의 xlPasteValues 옵션 사용)
12345678'paste_special_test: 매크로 이름Sub paste_special_test()'Sheet1이란 이름의 시트의 D열2행부터 D열9행까지의 셀을 복사한다.Worksheets("Sheet1").Range("D2:D9").Copy'현재 선택되어 있는 셀을 기준으로 선택하여 붙여넣기를 실행한다. 붙여넣기 옵션은 값만 복사하기를 선택한다.Selection.PasteSpecial Paste:=xlPasteValuesEnd Subcs 매크로 실행 결과 매크로 실행 결과 선택하여 붙여넣기(값)이 수행되는 것을 확인할 수 있다.
728x90'Excel > Excel 매크로' 카테고리의 다른 글
Excel 매크로 (VBA) - 006. 셀 병합 하기 (0) 2022.08.18 Excel 매크로 (VBA) - 005. 시트에 있는 데이터(셀) 순회하기 (0) 2022.08.17 Excel 매크로 (VBA) - 004. 데이터가 있는 셀의 범위 알아내기 (0) 2022.08.16 엑셀 매크로 (VBA) - 003. variable/assignment/branch/loop (변수/할당/비교/순환) (0) 2022.08.15 엑셀 매크로 (VBA) - 001. 특정 행을 복사하여 삽입하기 (1) 2022.08.12