기초부터 실전까지 VBA 엑셀19 - 셀 Clear, Copy, Cut, Paste

IT 관련 지식/VBA 공부|2019. 11. 11. 08:00
반응형
728x170

<VBA 엑셀19 - 셀 Clear, Copy, Cut, Paste>

 

이번에는 셀을 조작하는 또 다른 방법에 대해 알아보겠습니다.

먼저 셀을 비우는 방법부터 설명하겠습니다.

 


1. VBA 셀 Claer / ClearContents 기본형

 

먼저 기본형의 경우 다음과 같습니다.

 

메소드 설명
Clear 전체 (수식 · 문자 · 서식 · 댓글 모두)를 지 웁니다.
ClearContents 수식과 문자를 삭제합니다.
ClearFormats
서식만 삭제합니다.

 

Clear에 대한 메소드는 사실 위에 3개 말고도 많이 있지만

거의 사용하지 않기 때문에 3개만 게시하였습니다.

 

사용법은 다음과 같습니다.

 

Cells(2, 2).Clear
Range("B2").ClearContents
Range("B2:C10").ClearFormats
Rows(2).Clear
Columns(2).ClearContents

 

셀, 행, 열 모든 곳에 사용할 수 있습니다.

 

다음으로 셀을 복사, 잘라내기, 붙여 넣기를 하는 방법에 대해 알아보겠습니다.


2. VBA에서 셀(Cells) 복사(Copy), 잘라내기(Cut), 붙여 넣기(Paste)

 

먼저 복사(Copy)의 기본형은 다음과 같습니다.

Range("A1").Copy

Range("B1").Select
ActiveSheet.Paste

Range("C1").Select
ActiveSheet.Paste

Application.CutCopyMode = False

 

그럼 하나씩 살펴보겠습니다.

300x250

 

① 먼저 셀(Range)을 복사(Copy)합니다 = Range("A1").Copy

 

② 그리고 붙여 넣을 셀을 선택합니다 = Range("B1").Select 

 

③ 붙여 넣기 명령을 합니다 = ActiveSheet.Paste 

 

④ 복사 명령이 지정된 셀을 해제합니다(점점 상태) = Application.CutCopyMode = False

 

위의 세 단계는 보시는 바와 같이 ②, ③을 반복하여 복수의 셀에 같은 내용을 많이 붙여 넣을 수 있습니다.

액티브 셀에만 붙여 넣기를 할 수 있기 때문에 한 번에 여러 셀에 붙여 넣을 수 없습니다.

 

이번엔는 잘라내기(Cut)의 기본형을 보겠습니다.

Range("A1").Cut
Range("B1").Select
ActiveSheet.Paste

형태는 Copy와 거의 유사합니다.

 

하지만, 복사와 달리 잘라내기(Cut)는 연속적으로 붙여 넣을 수 없습니다.

 


3. 주의사항

 

셀의 범위를 복사하기 위해서는 

 

할 수 있는 경우가 정해져 있습니다.

 

Range("A1:B10").Copy ・・・ 
Range("A1,B5").Copy ・・・ X
Range("A1,B5,C10").Copy ・・・ X 
Range("A1:B10,C11:D20").Copy ・・・ X

 

보시는 바와 같이 개별적으로 떨어진 위치의 셀의 경우 한 번에 복사할 수 없습니다.

꼭 범위를 설정해야만 다수의 셀 복사가 가능합니다.

 


4. 다른 시트에서 복사, 붙여 넣기

 

이 기능은 복사뿐 아니라 잘라내기로도 사용할 수 있습니다.

 

Range("A1").Copy
Sheets("시트이름1").Select
Range("B1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

시트 이름을 선택 → 셀 선택을 하면

 

다른 시트에 복사한 내용을 붙여 넣을 수 있습니다.

 

물론 반대로 다른 시트에서 복사도 할 수 있습니다.

Sheets("시트이름1").Select  
Range("A1").Copy

Sheets("시트이름2").Select 
Range("B1").Select 
ActiveSheet.Paste 
Application.CutCopyMode = False

 

위와 같이 

다른 시트에서 복사 → 다른 시트에 붙여 넣기

도 할 수 있습니다.

 


오늘 포스팅은 여기서 마치겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀18 - 셀 특성(서식) 지정

IT 관련 지식/VBA 공부|2019. 11. 9. 08:05
반응형
728x170

<VBA 엑셀18 - 셀 특성(서식) 지정>

 

이번에는 VBA를 이용해 셀의 서식을 지정하는 방법에 대해 알아보겠습니다.

 

이전 시간에 이어 또 셀의 조작에 대한 이야기입니다!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀17 - 셀 선택, 활성화, 삭제, 삽입

 

셀에 대한 내용은 별로 재미없지만, 꼭 필요한 내용이니 한번쯤 봐두면

 

나중에 아! 이런 기능이 있었지 하면서 기억이 나실겁니다.

 

프로그래밍이라는 것은 코딩을 전부 기억할 필요가 없습니다.

 

여러분이 필요할 때 인터넷 검색을 해서 찾으시면되요.

 

단지 이러한 기능이 있다는 걸 알고 있어야 검색을 할 수 있겠죠? ㅎㅎ

 


1. VBA로 셀의 표시형식 바꾸기

먼저 VBA가 아니라 엑셀에서 이를 어떻게 수정하는지 보겠습니다.

 

엑셀에서 셀을 클릭한 후 Ctrl+1을 눌러봅시다.

 

그럼 아래와 같은 화면을 볼 수 있는데, 이게 셀의 표시형식입니다.

 

이 항목을 이용하면 간편하게 숫자의 단위, 날짜, 통화 등을 설정할 수 있습니다.

 

그럼 이제 VBA에서 이를 실행하는 방법을 보겠습니다.

 

Range("A1").NumberFormatLocal = "표시 형식 문자"

 

여기 있는 "표시 형식 문자"의 경우 아래의 인덱스를 의미합니다.

 

형식 문자 설명
G / 표준 표준 형식입니다.
_ (언더 바) _ (언더 바)에 계속되는 문자의 폭만큼 간격을 확보 할 수 있습니다.
@ 입력 값을 문자열로 그대로 표시합니다.
# 소수점 중 측에서도 형식의 # 기호의 수보다 적은 경우 0이 표시되지 않습니다.
0 숫자의 자릿수를 의미합니다. 
? 유효 자리가 아닌 0에 공백이 삽입되기 때문에 열에서 소수점의 위치가 정렬됩니다.
. (마침표) 수치에 소수점을 표시합니다.
(쉼표) 숫자 구분 기호를 표시합니다.
yy 연도를 두 자리 숫자로 표시합니다.
yyyy 연도를 네 자리 숫자로 표시합니다.
m 개월 수를 표시합니다. 1 ~ 12을 표시 할 수 있습니다.
mm 01 ~ 12를 표시 할 수 있습니다. 1 ~ 9 01 ~ 09과 0 첨부로 표시됩니다.
mmm Jan ~ Dec
mmmm January ~ December
d 일자를 표시합니다. 1 ~ 31을 표시 할 수 있습니다.
dd 01 ~ 31를 표시 할 수 있습니다.
ddd Sun ~ Sat
dddd Sunday ~ Saturday
aaa 일 ~ 토
aaaa 일요일 ~ 토요일
h 시간을 표시합니다. 0 ~ 23가 표시됩니다.
hh 00 ~ 23를 표시 할 수 있습니다.
m 분을 표시합니다. 0 ~ 59가 표시됩니다.
mm 00 ~ 59를 표시 할 수 있습니다.
s 초를 표시합니다. 0 ~ 59가 표시됩니다.
ss 00 ~ 59를 표시 할 수 있습니다.
[h] 24시를 넘는 시간을 표시합니다.
[m] 60 분 이상의 분을 표시합니다.
[s] 60 초 이상 초를 표시합니다.

즉, 

Range("A1").NumberFormatLocal = "yyyy/mm/dd"

 

이렇게 코딩을 한 후 

 

"A1"에 19450812라고 입력하면 자동으로

 

1945/08/12라고 나오게 됩니다.

 

300x250

2. VBA로 셀 내용 배치하기

주로 사용하는 가로의 배열만 알려드리겠습니다.

 

먼저 기본형의 경우 다음과 같습니다.

 

Range.속성 = 설정 값

여기서

속성 = HorizontalAlignment

설정값 = xlCenter

이렇게 지정해주시면 됩니다. 

HorizontalAlignment  xlCenter 중앙
 xlDistributed 균등 분할
 xlJustify 맞춤
 xlLeft 왼쪽
 xlRight 오른쪽

즉, Ragne("A1").HorizontalAlignment=xlCenter

로 설정시 "A1" 셀은 중앙정렬의 상태가 됩니다.

 


3. VBA로 셀 색채우기

먼저 기본형입니다.

 

Range.Interior.속성치= 설정치

 

속성치 = Color

설정치 = 인덱스 또는 RGB

속성 속성 설명 속성 설정 값 및 설명
Color 채우기 색 RGB 값을 나타내는 상수
ColorIndex 채우기 색 56 색 팔레트의 인덱스

 

이를 다음과 같이 2가지로 사용할 수 있습니다.

 

① Color 속성사용

vbBlack 검정
vbRed 빨랑
vbGreen 초록
vbYellow 노랑
vbBlue 파랑
vbWhite 화이트

Ragne("A1").Interior.Color = vbBlack

 

이렇게 하면 "A1" 셀은 검은색으로 칠해질 것입니다.

 

② 팔레트를 이용

 

팔레트를 이용할 경우 다음과 같이 RGB 함수를 이용해야합니다.

 

RGB (red, green, blue)

 

이를 활용하여 다음과 같이 나타냅니다.

 

Ragne("A1").Interior.Color = RGB(0, 0, 0)

 

RGB(0, 0, 0)의 경우 vbBlack과 마찬가지로 검은색을 나타냅니다.

 


이렇게 오늘은 셀의 서식에 대해 공부했습니다.

 

오늘 힘드네요 ㅎㅎ

 

다음에는 셀을 복사, 붙여넣기 하는 방법을 배워보도록 하겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀17 - 셀 선택, 활성화, 삭제, 삽입

IT 관련 지식/VBA 공부|2019. 11. 8. 08:07
반응형
728x170

<VBA 엑셀17 - 셀 선택, 활성화, 삭제, 삽입>

 

전에 우리는 셀의 지정법에 대해 배웠습니다.

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀5 - 셀 지정법(Cell, Rows, Columns)


하지만, 그때 배운 것은 진짜 셀에 대한 지정뿐이며

이번에는 VBA를 이용해서 셀을 선택, 활성화, 삭제, 삽입 하는 방법에 대해 알아보겠습니다.

 

그럼 기본형부터 살펴보겠습니다.

 


1. VBA에서 셀(Cells)의 선택 or 활성화

기본적으로 앞에서 배운 북 or 시트의 선택과 다르지 않습니다.

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀16 - 북(Workbooks), 시트(Sheet) 선택

 

Range ( "셀 주소") .Select
또는
Cells (행, 열) .Select

 

위의 코드를 이용하여 셀의 선택을 할 수 있습니다.

 

선택을 사용할 경우 셀에 내용입력 뿐아니라

 

셀의 내용을 불러올 수 도 있으며 복사, 잘라내기 등 여러가지를 활용할 수 있습니다.

 

이 내용에 대해서는 따로 또 포스팅을 하도록 하겠습니다.

 

셀의 활성화의 경우 아래와 같이 사용가능합니다.

 

Range ( "셀 주소") .Activate
또는
Cells (행, 열) .Activate

 

셀의 선택에서 1개의 셀만 선택할 경우 활성화와 같은 기능을 합니다.


2. VBA에서 행(Rows) 또는 열(Columns)을 선택

선택뿐 아니라 활성화도 가능하지만 딱히 의미가 없기때문에 선택부분만 설명하겠습니다.

 

기본형은 다음과 같습니다.

 

행 선택

Rows (행 위치) .Select

 

열 선택

Columns (열 위치) .Select

 

행 위치, 열 위치 모두 숫자 인덱스로 표기해야합니다.

 

엑셀 시트에서 열(Columns)은 영문(A, B, C 등)으로 표기되어 있지만 

 

VBA에서는 숫자로 표기해야합니다.

 

300x250

3. VBA에서 셀(Cells) 삭제

기본형은 다음과 같습니다.

 

Cells (행, 열) .Delete

 

하지만 셀 삭제를 할 때 보면 아래와 같은 셀 밀기 창이 뜨죠?

 

VBA에서도 셀 삽입을 할 때 이것을 설정할 수 있습니다.

 

그건 다음과 같이 설정하면 됩니다.

 

왼쪽으로 이동

Cells (행, 열) .Delete Shift : = xlToLeft

 

위쪽으로 이동

Cells (행, 열) .Delete Shift : = xlUp

 

가능한한 VBA에서 셀(Cells) 삭제를 할 경우

 

방향을 지정해주시길 바랍니다.

 

그렇지 않을 경우 자동으로 판단하여 규칙성 없이 셀이 삭제될 수 있습니다.


4. VBA에서 셀(Cells) 삽입

셀 삽입의 기본형은 다음과 같습니다.

 

Cells (행, 열) .Insert

 

또한 삭제와 마찬가지로 셀 삽입후 방향을 지정할 수 있습니다.

 

오른쪽으로 이동

Cells (행, 열) .Insert Shift : = xlToRight

 

아래쪽으로 이동

Cells (행, 열) .Insert Shift : = xlDown

 

마찬 삭제와 마찬가지로 삽입 후에는 방향을 지시해주는 것이 좋습니다.

 


5. VBA에서 행(Rows) 또는 열(Columns) 삽입, 삭제

이번에는 행, 열을 삽입 / 삭제 해보겠습니다.

 

먼저 기본형은 다음과 같습니다.

 

행 삽입

Rows (행 위치).Insert

 

열 삽입

Columns (열 위치).Insert

 

행 삭제

Rows (행 위치).Delete

 

열 삭제

Columns (열 위치).Delete

 

행, 열의 삽입 / 삭제의 경우에는 방향을 지시할 필요가 없습니다.

 

왜냐하면 VBA가 아닌 엑셀에서 수동으로 행을 삽입 / 삭제 해보면

 

셀의 삽입 / 삭제와 달리 방향을 고르는 문구가 나오지 않기 때문입니다.

 


오늘은 여기까지만 쓰겠습니다.

 

참고로 이 VBA 강의는 대략 80~90강의까지 갈거 같습니다...

 

할 내용이 매우 많거든요 ㅎㅎ 

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀16 - 북(Workbooks), 시트(Sheet) 선택

IT 관련 지식/VBA 공부|2019. 11. 6. 07:52
반응형
728x170

<VBA 엑셀16 - 북 선택(Workbooks)북(Workbooks), 시트(Sheet) 선택>

 

오늘은 VBA를 이용해 북(Book)과 시트(Sheet)를 선택하는 기능에 대해 알아보겠습니다.

 

일반적으로는 엑셀(Excell) 프로그램을 그냥 엑셀 또는 윈도우라고 하지만

 

VBA에서는 이 엑셀 프로그램 1개를 Book이라고 생각합니다.

 

주로 다른 북(Book) 선택 또는 종료를 위해 사용합니다.

 

시트(Sheet)의 경우 여러분들도 잘 알고 있다고 생각합니다.

 

엑셀 내의 하단에 있는 Sheet1을 바로 Sheet라고 합니다.

 

그럼 먼저 기본형부터 알아보겠습니다.

 


1. VBA Book 활성화의 기본형 - Workbooks

Workbooks ( "북 이름") .Activate

 

이때 "북 이름"의 경우  확장자 (.xls, .xlsx, .xlsm)도 지정해야합니다.

 

여러개의 엑셀을 띄워놓고 복수의 작업을 하기위해서는 Workbooks ( "북 이름") .Activate로 지정후

300x250

매크로를 계속 이어나가게 해야합니다.

 

Book의 경우 선택할 수는 없고 활성화만 가능합니다.


2. VBA Sheet의 선택, 활성화 - Sheet

먼저 시트의 선택입니다.

 

매크로 VBA를 지정 시트를 선택하려면


Sheets ( "시트 이름") .Select


또는


Sheets (인덱스) .Select

 

인덱스는 시트의 순서입니다.
숨겨진 시트가 없으면, 왼쪽의 시트부터 순서대로 1,2,3 ...입니다.

 

시트를 선택하기 위해선

 

Sheets ( "시트 이름") .Activate


또는


Sheets (인덱스) .Activate

 

단 1개의 시트만 Select 또는 Active 할 경우에는 둘 다 같은 기능을 가집니다.

 

여러 개의 시트를 선택할 경우에는 

 

Sheets ( "시트 이름1", "시트 이름2", ....) .Select

 

이렇게 "시트 이름"을 나열하시면 됩니다.

 


3. 특정 문서의 시트를 활성화

문서(Book)와 시트를 동시에 활성화 할 수 도 있습니다.

 

그 기본형은 아래와 같습니다.

 

Workbooks ( "Book2.xlsx"). Sheets ( "Sheet2"). Activate

 

위와 같이 적으면

 

"Book2.xlsx의 문서의 Sheet2 시트를 활성화 한다"라는 의미가 됩니다.

 


오늘은 VBA의 문서(Book)와 시트(Sheet)를 활성화 하는 방법에 대해 알아보았습니다.

 

다음에는 Cells의 조작에 대해 알아보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

반응형

댓글()