엑셀 / VBA / 매크로 만들고 실행하기

간단한 예제로, VBA로 매크로를 만들고 실행하는 과정을 살펴보겠습니다.(개발 도구 메뉴가 없는 경우 옵션 변경으로 추가할 수 있습니다.)

  • [개발 도구]에서 제일 왼쪽에 있는 [Visual Basic]을 클릭합니다.(단축키는 Alt+F11입니다.)

  • 다음과 같은 에디터 창이 나오는데...

  • [Microsoft Excel 개체]를 선택하고 마우스 우클릭한 후, [삽입]의 [모듈]을 클릭합니다.

  • 코드를 넣을 수 있는 창이 나오는데...

  • 다음 코드를 입력합니다.
Sub SayHello()
  Sheet1.Range("A1").Value = "HELLO"
End Sub
  • SayHello라는 이름의, A1 셀에 HELLO를 입력하는 매크로를 만드는 것입니다.

  • 이제 [개발 도구]의 [매크로]를 클릭합니다.(단축키는 Alt+F8입니다.)

  • SayHello가 선택된 상태에서 [실행]을 클릭하면...

  • A1 셀에 HELLO가 입력됩니다.

  • 코드를 다음처럼 수정하고, 다시 매크로를 실행하면...
Sub SayHello()
  Sheet1.Range("A1:A10").Value = "HELLO"
End Sub

  • A1부터 A10까지 HELLO가 입력됩니다.

  • 매크로를 포함한 엑셀 파일을 저장할 때는 [Excel 매크로 사용 통합 문서 형식]으로 저장합니다.
  • 이 형식의 확장자는 xlsm입니다.

같은 카테고리의 다른 글
엑셀 / 한영 자동 전환 해제하는 방법

엑셀 / 한영 자동 전환 해제하는 방법

엑셀에서 Rkakrnl를 입력하면 까마귀로 바뀝니다. 한글로 입력해야 할 것을 실수로 영어로 입력했을 거라 판단하여 한글로 변경해주는 기능입니다. 만약 이 기능이 불편하다면 옵션에서 비활성화할 수 있습니다.

엑셀 / 함수 / DATEDIF / 두 날짜 사이의 일수, 월수, 년수 등을 계산하는 함수

엑셀 / 함수 / DATEDIF / 두 날짜 사이의 일수, 월수, 년수 등을 계산하는 함수

개요 DATEDIF는 두 날짜 사이의 일수, 월수, 년수 등을 계산하는 함수입니다. 구문 DATEDIF(start_date,end_date,unit) start_date : 시작하는 날짜입니다. end_date : 끝나는 날짜입니다. unit : 반환할 정보의 형식입니다. Y, M, D, YM, YD 등을 사용할 수 있습니다. Y는 년수, M은 월수, D는 일수, YM은 년도를 무시한 월수, YD는 년도를 무시한 일수를 반환합니다. start_date가 end_date보다 이후라면 #NUM!를 반환합니다. 예제 다음은 2018년 1월 15일부터 2019년 6월 5일까지의 ...

엑셀 / 차트를 이미지 파일로 저장하는 방법

엑셀 / 차트를 이미지 파일로 저장하는 방법

엑셀에서 데이터를 일목요연하게 보여주기 위해 차트를 사용합니다. 차트를 엑셀 내에서 또는 워드, 파워포인트 등 MS OFFICE 프로그램에서 사용할 때는 다른 형식으로 변환할 필요가 없습니다. 하지만 그 외 다른 프로그램에서 사용할 때는 이미지로 변환해야 하는 경우가 발생합니다. 엑셀에서 만든 차트를 그림 파일로 변환하는 방법을 알아보겠습니다. 차트 복사 간단한 차트를 만들어보았습니다. 차트를 선택하고 마우스 우클릭하여 복사합니다. 파워포인트에 ...

엑셀 / 셀 안에서 강제 줄바꿈하는 방법

엑셀 / 셀 안에서 강제 줄바꿈하는 방법

셀 안에서 줄바꿈을 하고 싶다면 Alt + Enter를 누릅니다. 줄바꿈한 내용을 수식입력줄에서 보고 싶다면, 오른쪽 끝에 있는 아이콘을 클릭합니다.

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

개요 ISBLANK는 셀이 비어있는지 확인하는 함수입니다. 셀이 비어있다면 TRUE, 셀이 비어있지 않다면 FALSE를 반환합니다. 예제 1 예를 들어 ISBLANK(A2) 는 A2 셀이 비어있다면 TRUE, 비어있지 않다면 FALSE를 반환합니다. IF 함수와 결합하여 비어있을 때와 비었지 않을 때 서로 다른 작업을 할 수 있습니다. 예를 들어 IF(ISBLANK(A2),"B","NB") 는 A2 셀이 비어있다면 B를, 비어있지 않다면 NB를 출력합니다. 예제 2 수량과 단가를 곱하여 금액을 ...

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

로그 또는 상용로그의 값 구하기 로그의 값을 구하는 함수는 LOG에요. 외우기 쉽게 이름을 만들었네요. LOG(number, ) number에는 진수, base에는 밑이 들어가요. 즉 LOG(8, 2) 는 log28을 뜻합니다. 만약 base가 생략되었다면 밑을 10으로 계산해요. 밑이 10인 로그를 상용로그라고 하는 거 기억하시죠? 상용로그의 값은 함수 LOG10을 사용해도 돼요. LOG10(number) 따라서 상용로그의 값을 구하는 방법은 세가지가 있습니다. LOG(100, 10) LOG(100) ​LOG10(100) 상용로그표 만들기 상용로그표를 만들어볼게요. 고등학교 때 수학 ...

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

엑셀에서 정렬은 데이터 탭에서 한다. 한 개를 기준으로 정렬할 수도 있고, 여러 개를 기준으로 정렬할 수도 있다. 한 개를 기준으로 정렬하기 정렬하려는 값들이 있는 셀 중에서 정렬 기준이 될 열에 있는 셀 중 하나를 선택한다. 을 클릭하면 내림차순으로 정렬한다. 정렬할 영역은 엑셀이 자동으로 정한다. 여러 개를 기준으로 정렬하기 버튼을 클릭하면 ...

엑셀 / 함수 / LEFT, LEFTB, MID, MIDB, RIGHT, RIGHTB / 문자열 추출 함수

엑셀 / 함수 / LEFT, LEFTB, MID, MIDB, RIGHT, RIGHTB / 문자열 추출 함수

LEFT, LEFTB LEFT는 텍스트 문자열의 첫 번째 문자부터 시작하여 지정한 문자 수만큼 문자를 반환한다. LEFT(text, ) LEFTB는 텍스트 문자열의 첫 번째 문자부터 시작하여 지정한 바이트 수만큼 문자를 반환한다. LEFTB(text, ) 영문자 등은 한 문자가 1바이트이므로 결과에 차이가 없다. 하지만, 한글 등 2바이트 문자라면 차이가 난다. 수식으로 계산된 결과에 대해서도 적용할 수 있다. MID, MIDB MID는 텍스트 문자열에서 지정된 ...

엑셀 / 기호, 특수 문자 입력하는 방법

엑셀 / 기호, 특수 문자 입력하는 방법

엑셀에 기호 또는 특수 문자를 입력하는 방법은 두 가지가 있습니다. 삽입 - 메뉴 상단에서 를 클릭합니다. 글꼴을 바꾸가면서 필요한 기호를 찾습니다. 기호를 선택한 후 을 클릭하면 기호가 셀에 삽입됩니다. 자음 + 한자 ㄱ, ㄴ 등 자음을 입력하고 한자 키를 누릅니다. 그러면 특수 문자가 나옵니다. 화살표를 클릭하면 입력할 수 있는 기호를 ...

엑셀 / 함수 / XIRR / 비정기적인 현금 흐름의 내부수익률 계산하는 함수

엑셀 / 함수 / XIRR / 비정기적인 현금 흐름의 내부수익률 계산하는 함수

개요 XIRR 함수는 비정기적인 현금 흐름의 내부수익률(internal rate of return)을 반환하는 함수입니다. 구문 XIRR(values, dates, ) values 필수 요소로, dates의 지불 일정에 대응하는 현금 흐름입니다. 양수 값과 음수 값이 각각 한 개 이상씩 포함되어야 합니다. dates 필수 요소로, values에 대응하는 지불 일정입니다. guess 선택 요소로, XIRR 계산에 처음 사용할 값입니다. guess에서 시작하여 결과의 오차가 0.000001% 이내로 정확해질 때까지 반복합니다. guess를 생략하면 0.1(10%)로 간주합니다. 100번 ...