VBA 속도 향상을 위하여 매크로 실행시 먼저 실행하는 구문


With Application
    '작업하는 동안 화면을 정지상태로 함
    .ScreenUpdating = False
    '엑셀 화면 하단부 상태를 표시하지 않음
    .DisplayStatusBar = False
    '엑셀 옵션에서 계산을 수동으로 함
    .Calculation = xlCalculationManual
    '다른 이벤트를 실행시키지 않음
    .EnableEvents = False
End With
  


VBA 속도 향상을 위하여 매크로 종료시 실행하는 구문


With Application
    '작업하는 동안 화면을 정지상태로 함
    .ScreenUpdating = True
    '엑셀 화면 하단부 상태를 표시
    .DisplayStatusBar = True
    '엑셀 옵션에서 계산을 자동으로 함
    .Calculation = xlCalculationAutomatic
    '다른 이벤트를 실행시킴
    .EnableEvents = True
End With
  

그림과 같이 하나의 셀에 어떤 값이 입력되었을 경우.

세로로 또는 가로로 복사하는 방법을 올려봅니다.


"B2"셀에 있는 값을 "B2:B13" 범위에 복사하고 싶다면 셀을 선택하고 마으스로 끌어 내리면 되겠죠?

하지만 방법이 그것만 있는건 아닙니다.



바로 Ctrl+D 라는 단축키가 있거든요.


아래 그림처럼 "B2:B13"셀을 선택해봅니다.


그리고 나서 "Ctrl+D" 를 눌러볼까요?

바로 모든 셀에 같은 값이 입력된걸 확인할 수 있습니다.

이 단축키는 세로방향 아래로만 복사가 된다는거 참고하시구요!



이번엔  Ctrl+R 이라는 단축키를 사용해서 우측으로 복사하는 방법을 알려드리겠습니다.


그럼 "B2:D13" 셀을 선택해 볼까요?


그리고 "Ctrl+R" 을 눌러봅시다.


바로 모든 셀에 같은 값이 복사된걸 확인 할 수 있습니다.

이 단축키는 가로방향 우측으로만 복사가 된다는거 참고하시면 되겠습니다.


여기서 한가지 더 추가하자면..

단축키는 없지만 홈 탭에 채우기 기능을 활용하면 위쪽 방향과 왼쪽 방향으로 채우기 기능을 사용할 수 있습니다.


화면에서 홈탭에 들어가시고,

채우기 버튼을 클릭하면

아래와 같은 기능이 나옵니다


이중에 위쪽, 왼쪽 기능을 사용하면 내가 Ctrl + D, Ctrl + R 과 같은 기능을 사용할 수 있습니다.


엑셀에는 이런 기능 있으면 좋겠다.. 라고 생각한 거의 대부분의 기능이 있었습니다.

기능을 적어도 다섯번씩 반복해서 따라해 보시면 기억에도 남고, 업무를 훨식더 빠르고 간편하게 할 수 있을 겁니다.


엑셀에서 선 긋기 해보신적 있나요?

우선 선 긋는 방법을 알려드립니다.

삽입 – 도형 – 선을 선택하세요

자 그럼 이제 선을 그어볼까요?

그런데 이게 뭐죠?? 선이 다 삐뚤삐뚤 하잖아요..!

선은 긋고 싶은데, 직선으로 그어지지 않을 때… 어떻게 해야 할까요?

자.. 그럼 다시 선긋기를 해봅시다.

다시 삽입에서 도형, 선을 선택하시고…

시작점을 클릭하고 마우스를 움직여봅니다(손가락은 마우스에서 누른채로 있어야 합니다)

그리고 Shift 키를 눌러보세요 ~!

어떤가요? 갑자기 직선으로 바뀌죠??

오늘은 이렇게 엑셀에서 선을 직선으로 긋는 방법을 포스팅해 봤습니다

이 기능은 한글에서도 마찬가지라는 사실, 알고계신가요? ^^ (참고로 한글에서는 15도 각도로 설정가능합니다)

보지만 말고 반드시 여러 번 반복하셔야 자신의 것이 된다는 것 잊지 마세요~

아래 표 참고하시고요, 파일 첨부합니다

엑셀 단축키.hwp


구분

 

Ctrl

Alt

Shift

F1

도움말

리본메뉴축소

차트넣기

 

F2

편집모드

인쇄미리보기

다른이름으로 저장

메모

F3

이름붙여넣기

이름관리자

 

함수마법사

F4

직전실행 반복

종료

종료

(??)

F5

셀위치이동

창축소

 

찾기/바꾸기(=Ctrl+F)

F6

(??)-쓸만한기능(자꾸눌러보면 알게됨)

다른통합문서

 

리본메뉴단축키(=Alt)

F7

맞춤법검사

이동모드(키보드사용)

 

동의어사전

F8

선택영역확장

창크기조절(좌우)

매크로실행

 

F9

 

최소화

 

 

F10

도구모음

최대화

메모목록보이기/숨기기

마우스우측버튼

F11

차트넣기

매크로시트추가

VBA편집기

시트추가

F12

다른이름으로저장

다른파일 열기

 

저장

단축키

내용

단축키

내용

Ctrl+`

수식보기

Ctrl+I

이탤릭체(Ctrl+3)

Ctrl+1

셀서식

Ctrl+J

 

Ctrl+2

굵게(Ctrl+B)

Ctrl+K

하이퍼링크삽입

Ctrl+3

이탤릭체(Ctrl+I)

Ctrl+L

표만들기

Ctrl+4

밑줄(Ctrl+U)

Ctrl+M

 

Ctrl+5

최소선

Ctrl+N

새통합문서

Ctrl+6

 

Ctrl+O

통합문서열기

Ctrl+7

 

Ctrl+P

인쇄미리보기

Ctrl+8

윤곽기호

Ctrl+Q

 

Ctrl+9

행숨기기

Ctrl+R

좌측셀 복사

Ctrl+0

열숨기기

Ctrl+S

저장

Ctrl+A

모든셀선택

(두번클릭시전체범위)

Ctrl+T

표만들기

Ctrl+B

굵게(Ctrl+2)

Ctrl+U

밑줄(Ctrl+4)

Ctrl+C

복사

Ctrl+V

붙여넣기

Ctrl+D

위쪽 셀복사

Ctrl+W

통합문서 닫기

Ctrl+E

빠른채우기

Ctrl+X

잘라내기

Ctrl+F

찾기(=Shift+F5)

Ctrl+Y

앞으로돌아가기

Ctrl+G

F5

Ctrl+Z

되돌리기

Ctrl+H

바꾸기(=Shift+F5)

 

 

이전 포스트에서는 엑셀에서 셀 주소에 이름을 정의 해서 활용하는 방법을 간단히 알려드렸습니다.

몇번 따라해 보기도 하고, 또 스스로 여러번 활용해 보면 쉽게 활용할 수 있을것입니다.

 

오늘은 이름 정의에서 셀 하나에만 이름을 정의하는 것이 아니라,

범위를 정의하는 방법과 활용하는 방법을 알려드리려고 합니다.

우선 아래 화면을 보시죠.

C2셀에서 C3:C10 범위의 셀의 합계를 구하려고 합니다.

SUM(C3:C10) = C3 + C4 + …. + C9 + C10 이겠죠?

이번에는 각각의 셀을 하나로 묶어서 이름을 정의해 보겠습니다.

이름을 정의하는 방법은 앞의 포스트를 참고하시면 되구요

2016/08/11 - [컴퓨터 소프트웨어 관련/엑셀 재밌게 사용하기!] - [엑셀] 이름 정의 하기!

아래 그림과 같이 내가 이름을 정의하고 싶은 C3:C10 범위를 선택하고 범위라는 이름을 붙여주었습니다.

 

그리고 범위 합계를 구하는 수식을 입력해 보겠습니다.

=SUM(C3:C10) 이구요

정의한 이름을 활용하면,

=SUM(범위) 입니다.

내가 원하는 이름을 정의했으면 바로 이름을 활용하면 됩니다. 

이런 범위는 여러 개를 다른 이름으로 설정할 있구요

엑셀에서 매우 유용하게 활용할 있는 기능중에 하나 입니다.

이름 정의는 다른 방식으로 활용할 수도 있습니다.

계산식으로 활용할 수동 있는데요, 다음에 포스팅 하도록 하겠습니다.

우선은 무엇보다도 해보는 것이 가장 중요합니다.

 

엑셀에서는 주소 라는 개념이 있습니다.

A1, A3, B5, B7 등등..

예를 들어서 A1 에 40 이라는 숫자를 입력하고 D1 셀에서 '=A1' 이라고 입력해주면, D1 셀에도 40이라는 숫자가 출력이 됩니다.

한글로 입력하든 영어로 입력하든 마찬가지 이죠. (아래 화면 참조)

 

이렇게 간단한 작업을 하는 경우에는 굳이 신경쓸 필요는 없지만,

참조하는 주소가 많아지고 작업이 많아질 때는 일일이 주소를 기억할 수도 없고, 시트별로 찾아다니기도 힘이 들죠.

이럴땐 언제나 기억할 수 있는 이름을 정의해야 합니다.

예를들어서

주소가 서울특별시 종로구 사직로 161 인 곳을 기억하기 쉬울까요? 아니명 경복궁을 기억하기 쉬울까요?

경복궁이 기억하기 쉽겠죠?

이렇게 A1, A3, B5, B7 등등의 주소에 각각의 이름을 붙여주는 작업이 바로 이름을 정의하는 작업입니다.

 

방법은 의외로 아주 간단합니다.

주소가 B3 인 셀에 이름을 정의내리는 화면입니다.

(1) B3 셀을 선택하시고 빨간색 테두리한 곳을 보세요. B3 이라는 주소가 나타나죠?

 

(2) 이곳을 클릭하고, 내가 원하는 이름을 붙여줍니다.

저는 B3셀이라서 "비삼"이라고 이름을 붙였습니다.

 

(3) 이제 B3 셀을 클릭하면 "B3"이라는 주소 대신 "비삼"이라는 이름이 나타납니다.

 

(4) 이제 여기에다 555 라는 숫자를 입력해보겠습니다.

 

(5) 그리고 B5 셀에 다음과 같이 수식을 입력해줍니다.

"=B3" 이라고 입력하는 대신 "=비삼"

확인사살까지.. 수식은 이렇게 걸려있는거죠. (아래화면 참조)

((((참고))))B6셀에서 키보드의"F2버튼"을 누르면 편집모드로 들어갑니다.

 

(6) 메뉴에서 수식 -> 이름관리자 클릭합니다. 또는 Ctrl + F3 을 사용하시면 됩니다.

 

(7) 다음과 같이 이름관리자 라는 창이 뜨죠?

여기 보시면 이름은 "비삼"이고 해당되는 값은 "555" 이고, 사용 범위는 통합문서 전체 입니다.

어느 시트에서든지 "비삼" 이라는 이름을 가지고 수식에 활용할 수 있다는 뜻입니다.

 

그럼 오늘은 이름을 정의하는 방법과 간단한 사용법을 설명했구요, 다음 포스트에서는 여러 셀을 묶어서 함께 이름을 정의해서 활용하는 방법을 알아보도록 하겠습니다.

무엇보다도 중요한 것은 자신이 직접 해보는 것입니다.

눈으로 본 것은 그때 뿐이지만, 직접 따라해본 것은 훨신 오래 기억이 남습니다.

그리고 여러 번 해본 것은 더 오래 기억에 남습니다.

모두다 이 포스트를 통해서 엑셀의 이름 정의에 대해서 꼭 확실히 알아가셨으면 합니다~

한글에서도 내가 단축키를 직접 만들어서 사용할수 있는데요(아는 사람만 아는 사실이겠지만…)

엑셀에서도 단축키를 직접 만들어서 사용할 수 있습니다.

바로 빠른 실행 도구 모음 이라는 메뉴를 통해서 인데요~

아래 화면은 제가 사용하고 있는 단축 버튼 입니다.

이게 일반적인 화면이구요~

 

Alt 버튼을 누르면(누르고 있지 말고 눌렀다가 떼기만 해도 됩니다)

아래 화면 처럼 1번부터 번호가 보여집니다.

여기서 1번 버튼을 누르면 제가 지정한 "가운데 맞춤" 이라는 기능이 작동하게 되죠.

 

 

그럼 지금부터 빠른 실행 도구 모음 이라는 메뉴를 어떻게 고치고 내가 원하는대로 수정 할 수 있는지 알려드리겠습니다.

(1) 엑셀에서 옵션으로 들어갑니다.

 

(2) 빠른 실행 도구 모음을 클릭하면, 아래와 같은 화면이 나옵니다.

빨간색으로 강조한 부분은 제가 선택한 빠른 실행 도구 모음입니다.

특히 가운데 맞춤과 셀 병합, 셀 분할은 정말 많이 쓰이는 메뉴입니다.

 

(3) 어떤 메뉴중에서 고를지 선택하는 창 입니다.

저는 모든 명령 중에서 제가 원하는걸 찾았습니다.

모든 명령을 선택하면, 모두다 나오니까요~

 

(4) 일단 아무거나 선택해 봤습니다.

선택하고 중간에 있는 "추가"라는 버튼을 클릭하시면 추가 됩니다.

 

(5) 제거는 아래와 같은 방법으로, 선택하고 "제거" 클릭하면 됩니다.

 

(6) 이제 이렇게 만들어진 빠른 실행 도구를 마음껏 사용하기만 하면 됩니다.

저의 경우는 Alt + 1 하면, "가운데 맞춤"

Alt + 2 하면, "셀 병함" 이 됩니다.

업무를 함에 있어서 매우 편리한 단축키 이죠..

ROUND 계열의 함수와 INT함수는 엑셀에서 가장 많이 쓰이는 함수 중에 하나일 겁니다.

TRUNC 함수 INT 함수와 거의 같지만, 음수에서 값이 달라지기 때문에 함께 알아두시면 유용하게 쓸 수 있습니다.


ROUND : 반올림

ROUNDUP : 절상(올림)

ROUNDDOWN : 절사(내림)

INT : 정수(내림)

TRUNC : 정수(소수점 이하 버림)


우선 아래 캡쳐한 화면을 참고하세요.

160804_ROUND,INT,TRUNC.xlsx


D2셀을 먼저 보시면, ROUND ( $B$2 , 3 )

ROUND함수는 소숫점 셋제자리까지 반올림한 값을 나타내 달라는 뜻입니다.

소숫점 넷째자리에서 5이상이면 올림, 4이하이면 내림을 하게 되죠.

구할 값이 3.141592 이므로, 소숫점 넷째자리의 값은 5 입니다.

그래서 3.142 가 되었습니다.


D3셀에서는, ROUNDUP ( $B$2 , 3 )

ROUNDUP함수는 소숫점 셋제자리까지 올림한 값을 나타내 달라는 뜻입니다.

구할 값이 3.141592 이므로 ROUND함수와 결과 값이 같은 3.142 가 되었습니다.

만약 ROUNDUP($B$2,2) 라고 하면, 3.15가 되겠죠.


D4셀에서는, ROUNDDOWN ( $B$2 , 3 )

ROUNDDOWN함수는 소숫점 셋제자리까지 내림한 값을 나타내 달라는 뜻입니다.

구할 값이 3.141592 이므로 넷째자리 아래는 모두 버려서 결과 값은 3.141 가 되었습니다.


※만약에 천단위 절상을 하고 싶다면 어떻게 해야 할까요?

$B$2 셀에 55462.135 이라는 숫자를 입력해 보세요

그리고 ROUNDUP ( $B$2, -3 ) 이라고 수식을 입력해 보시면 결과는 어떤가요?

ROUNDUP ( $B$2, 0 ) 이라고도 한번 해보세요


D5셀,D11셀에서는, INT 함수 입니다.

INT 함수는 해당 값보다 작은 정수를 반환합니다.

D11셀을 보시면, -7.72852 인데 반환된 값은 -8 입니다.


D6셀에서는, TRUNC 함수 입니다.

TRUNC 함수는 소수를 모두 버리고 정수만 반환하는 함수 입니다.

양수 일때는 INT함수와 결과가 같지만, 음수 일때는 다른 결과가 나타납니다.


예제 파일을 받아서 이래저래 숫자도 바꿔보다 보면, 아~ 이렇구나 하게 될겁니다.

무엇보다도 내가 많이 해보는게 가장 중요합니다!

+ Recent posts