엑셀 / 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 구분 기호 없이, 빈 ...

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

개요 LEN은 문자열의 문자 수를, LENB는 문자열의 바이트 수를 구하는 함수입니다. 구문 LEN(text) LENB(text) text : 필수 요소로, 길이를 구하려는 문자열입니다. 공백은 1개의 문자, 1바이트의 문자로 계산합니다. 한국어, 일본어, 중국어는 한 문자를 2바이트로 계산합니다. 예를 들어 LEN("가")는 1, LENB("가")는 2입니다. 예제 예제 1 ABCDE는 모두 1바이트 문자이므로, LEN과 LENB 모두 5를 반환합니다. 예제 2 공백은 1개의 문자, 1바이트 문자로 계산합니다. 예제 3 한국어, 일본어, 중국어는 1개의 문자를 ...

엑셀 / 함수 / DELTA / 두 숫자가 같은지 비교하는 함수

엑셀 / 함수 / DELTA / 두 숫자가 같은지 비교하는 함수

개요 DELTA는 두 수가 같은지 비교하는 함수입니다. 구문 DELTA(number1, ) number1 : 필수 요소로, 숫자입니다. number2 : 선택 요소로, 숫자입니다. 두 수가 같으면 1을, 다르면 0을 반환합니다. 두 번째 인수를 생략하면 0으로 간주합니다. 예를 들어 DELTA(0)은 1이고, DELTA(1)은 0입니다. 참조하는 셀이 비어있으면 0으로 간주합니다. 인수에 숫자가 아닌 값이 있으면 #VALUE! 오류 값이 반환됩니다. 예제 두 문자열이 같은지 비교하는 함수는 EXACT입니다.

엑셀 / 화살표 키 눌렀을 때 스크롤 되는 현상 해결하는 방법

보통 셀이 선택된 상태에서 화살표 키를 누르면 선택된 셀이 이동한다. 예를 들어 A1이 선택된 상태에서 오른쪽 화살표 키를 누르면 B1이 선택된다. 그런데, 선택된 셀이 이동하는 게 아니라 시트 자체가 스크롤 되는 경우가 있다. 그렇게 되는 이유는 자신도 모르게 Scroll Lock를 눌렀기 때문... 다시 Scroll Lock을 누르면 원래대로 돌아온다.

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

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

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

엑셀 / 함수 / FIND, FINDB, SEARCH, SEARCHB / 특정 문자열의 시작 위치를 반환하는 함수

엑셀 / 함수 / FIND, FINDB, SEARCH, SEARCHB / 특정 문자열의 시작 위치를 반환하는 함수

개요 FIND, FINDB, SEARCH, SEARCHB는 특정 문자열의 시작 위치를 반환하는 함수입니다. FIND, FINDB는 대소문자를 구분합니다. SEARCH, SEARCHB는 대소문자를 구분하지 않습니다. FIND와 SEARCH는 글자 수 기준으로, FINDB와 SEARCHB는 바이트 기준으로 계산합니다. 구문 FIND(find_text, within_text, ) FINDB(find_text, within_text, ) SEARCH(find_text, within_text, ) SEARCHB(find_text, within_text, ) find_text : 필수 요소로, 찾으려는 문자열입니다. within_text : 필수 요소로, 찾을 대상이 되는 문자열입니다. start_num : 선택 요소로, 검색을 시작할 위치입니다. 생략하면 ...

엑셀 / VBA / 주석 만드는 방법

엑셀 / VBA / 주석 만드는 방법

코드는 남아있지만 실행되지 않는 것을 주석이라고 합니다. 주석은 메모를 남길 때 사용하기도 하고, 오류를 찾기 위해 한 줄 씩 실행할 때 사용하기도 합니다. 주석을 만드는 방법은 작은 따옴표를 다는 것입니다. 작은 따옴표 이후의 문자열은 실행되지 않습니다. 주석은 에디터에서 녹색으로 표현됩니다. 여러 줄을 주석으로 만들려면 각 줄에 작은 따옴표를 넣어야 하는데, 많은 양이라면 무척 ...

엑셀 / 함수 / PRODUCT / 곱하기 함수

엑셀 / 함수 / PRODUCT / 곱하기 함수

개요 PRODUCT는 곱을 구하는 함수이다. 곱은 *를 이용하여 구할 수도 있으나, 곱할 값들이 많으면 PRODUCT가 편하다. 구문 PRODUCT(number1, , ...) number1 : 필수 요소로, 곱하려는 첫 번째 숫자 또는 범위 number2, ... : 선택 요소로, 곱하려는 추가 숫자 또는 범위 최대 255개의 인수를 곱할 수 있다. 예제 예제 1 값을 지정하여 세 개의 값을 곱한다. 다음과 같은 결과를 얻는다. =A2*B2*C2 예제 2 범위를 ...

엑셀 / 리본 메뉴 숨기기, 탭만 표시하기

엑셀 / 리본 메뉴 숨기기, 탭만 표시하기

탭과 리본 메뉴 엑셀을 실행시키면 상단에 여러 메뉴들이 있습니다. 제일 위에 있는 파일, 홈, 삽입 등을 탭이라 하고, 탭 밑에 있는 것을 리본 메뉴라고 합니다. 아래 스크린샷에서 빨간 박스 부분이 리본 메뉴입니다. 리본 메뉴가 상당히 두꺼워서 노트북 같이 화면이 작은 기기에서 작업할 때 불편할 수 있습니다. 그럴 땐 필요할 때만 리본 메뉴가 ...

엑셀 / 페이지 나누는 점선 없애는 방법

엑셀 / 페이지 나누는 점선 없애는 방법

페이지 나누기 표시 엑셀에서 인쇄 미리보기를 하거나 인쇄를 한 후 다시 워크시트로 돌아오면 점선이 생긴 걸 볼 수 있습니다. 인쇄되는 영역을 표시해주는 것으로, 페이지 나누기 표시라고 합니다. 인쇄를 목적으로 만들 때는 유용한 표시이지만, 경우에 따라서는 불편하거나 필요하지 않을 수 있습니다. 페이지 나누는 점선을 없애는 방법을 알아보겠습니다. 페이지 나누기 표시 없애기 페이지 나누기 표시는 옵션에서 표시 ...