엑셀 / 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입니다.

같은 카테고리의 다른 글
엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

개요 TEXTJOIN은 여러 문자열을 합하여 하나의 문자열로 만드는 함수입니다. CONCAT과 비슷하나, 구분 기호와 빈 셀 처리에 대한 설정이 가능합니다. 구문 TEXTJOIN(delimiter, ignore_empty, text1, , …) delimiter : 문자열 사이에 들어갈 구분 기호입니다. ignore_empty : 빈 셀을 무시할지 정합니다. TRUE면 무시하고, FALSE면 무시하지 않습니다. text1 : 연결할 텍스트 항목입니다. text2 : 연결할 추가 텍스트 항목입니다. 예제 예제 1 구분 기호 없이, 빈 ...

엑셀 / 함수 / EXACT / 두 텍스트(문자열)이 같은지 비교하는 함수

엑셀 / 함수 / EXACT / 두 텍스트(문자열)이 같은지 비교하는 함수

개요 EXACT는 두 문자열이 같은지 비교하는 함수입니다. 구문 EXACT(text1, text2) text1 : 필수 요소로 첫 번째 문자열입니다. text2 : 필수 요소로 두 번째 문자열입니다. 두 문자열이 같으면 TRUE, 같지 않으면 FALSE를 반환합니다. 숫자도 문자처럼 취급하여 비교합니다. 예제 두 숫자가 같은지 비교하는 함수는 DELTA입니다.

엑셀 / 셀 병합하기, 셀 분할하기

엑셀 / 셀 병합하기, 셀 분할하기

보기 좋게 표를 만들거나 보고서를 만들려면 셀들을 합쳐야 할 때가 있습니다. 엑셀에서는 셀을 합치는 것을 병합이라고 하고, 다시 나누는 것을 분할이라고 합니다. 어떻게 병합하고 분할하는지, 병합에는 어떤 방법이 있는지 알아보겠습니다. 병합하고 가운데 맞춤 셀을 합치는 가장 간단한 방법은 합치려는 셀들을 선택하고 을 클릭하는 것입니다. 셀들이 하나도 합쳐지고, 텍스트는 가운데 정렬합니다. 셀 병합을 하면 ...

엑셀 / 숫자를 문자(텍스트)로 변경하는 방법 3가지

엑셀 / 숫자를 문자(텍스트)로 변경하는 방법 3가지

숫자이기는 하지만 데이터 형식이 숫자가 아니라 문자(텍스트)여야 하는 경우가 있다. 이미 숫자로 입력된 상태에서 텍스트로 형식을 변경하는 방법 세 가지를 소개한다. 대부분 방법 1로 해결이 되나, 문제가 있다면 방법 3을 사용한다. 방법 1 - 표시 형식 변경 다음과 같은 숫자 데이터가 있다면... 셀을 선택한 후 마우스 우클릭하고 을 클릭합니다. 표시 형식을 을 ...

엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

다음과 같이 날짜별 제품 판매 데이터가 있습니다. 이 자료를 가지고 월별 판매액 합계를 구하는 방법 두 가지를 소개해드립니다. 방법 1 MONTH 함수로 날짜에서 월을 뽑아냅니다. SUMIF 함수로 월별 금액의 합계를 구합니다. 의미 없는 F열을 추가해야 한다는 단점이 있습니다. 방법 2 날짜에서 월을 뽑아, 해당 월의 금액 합계를 구합니다. =SUM((MONTH($A$2:$A$10)=G2)*$E$2:$E$10) 수식이 약간 복잡해지지만, 월별 합계를 구하기 위한 열을 추가할 ...

엑셀 / 숫자를 한글 또는 한자로 나타내는 방법

엑셀 / 숫자를 한글 또는 한자로 나타내는 방법

수를 한글로 표시해야할 때가 간혹 있습니다. 한글로 쓰면 위변조가 어려워서 그렇다고 알고 있는데, 진짜 이유가 그것인지는 잘 모르겠습니다. 수를 한글로 나타내기 위해서 처음부터 한글로 입력할 필요는 없습니다. 엑셀에는 수를 한글로 나타내는 기능이 있기 때문입니다. 이 기능을 이용해야 엑셀에서 숫자로 취급합니다. 수를 입력한 후 마우스 우클릭해서 을 엽니다. 범주에서 를 선택한 후 형식에서 ...

엑셀 / 양수(이익)를 빨간색, 음수(손실)를 파란색으로 만드는 방법

엑셀 / 양수(이익)를 빨간색, 음수(손실)를 파란색으로 만드는 방법

음수를 빨간색으로 강조하는 것은 셀 서식에 정의되어 있다. 숫자 형식으로 하고 음수의 표시 방식을 정하면 된다. 1000 단위 구분 기호도 쉽게 넣을 수 있다. 음수를 빨간색으로 표시하는 게 일반적이기는 한데, 국내 주식은 그렇지 않다. 오르는 게 빨간색, 내리는 게 파란색이다. 상승은 빨간색이라는 게 익숙해서, 엑셀에 손익을 기록할 때 손실이 빨간색으로 나오는 ...

엑셀 / 랜덤 정렬하는 방법

엑셀 / 랜덤 정렬하는 방법

엑셀은 셀의 값, 셀의 색, 글자 색 등을 기준으로 정렬할 수 있습니다. 보통은 특정 기준으로 차례대로 정렬하는 것이 보기 좋습니다. 하지만 간혹 랜덤하게 나열해야하는 경우도 있습니다. 예를 들어 영어 단어 시험지를 만들 때, 순서 다른 여러 가지를 만들면 부정 행위의 위험을 줄일 수 있겠죠. 안타깝게도 엑셀에는 랜덤 정렬이라는 게 없어서 편법을 사용해야 ...

엑셀 / 스파크라인 / 데이터를 시각적으로 보여주기

엑셀 / 스파크라인 / 데이터를 시각적으로 보여주기

스파크라인 스파크라인은 데이터를 시각적으로 나타내줍니다. 챠트와 비슷해서 미니 챠트라고 부르기도 합니다. 챠트와 스파크라인의 차이점 중의 하나는, 스파크라인은 셀에 속한다는 것입니다. 그리고 셀의 값이 아니라 배경으로 만들어집니다. 스파크라인 만들기 이 있습니다. 적절한 모양을 정하고 클릭합니다.(모양은 나중에 바꿀 수 있습니다.) 라는 창이 뜹니다. 범위를 선택하고 을 클릭하면 스파크라인이 만들어집니다. 스파크라인 모양 바꾸기 스파크라인을 선택하면 디자인 탭이 ...

엑셀 / 참조 / 상대 참조, 절대 참조, 혼합 참조

엑셀 / 참조 / 상대 참조, 절대 참조, 혼합 참조

다른 셀의 값을 가져다 쓰는 걸 참조라고 한다. 참조의 대상이 되는 셀의 값이 바뀌면, 참조한 셀의 값도 바뀐다. 참조 방식은 상대 참조, 절대 참조, 혼합 참조 세 가지가 있다. 참조한 셀을 복사할 때의 결과가 가장 큰 차이이다. 상대 참조 예를 들어 셀 D3에서 셀 A1을 참조하면, 왼쪽으로 3칸, 위쪽의 2칸에 위치한 셀을 참조한다는 ...