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

같은 카테고리의 다른 글
엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

눈금선 엑셀의 시트에는 선이 있어요. 모니터에만 나오고 인쇄할 때는 나오지 않는 선이에요. 이 선을 눈금선이라고 합니다. 눈금선이 있는 이유는 셀의 위치를 파악하기 쉽게 하려는 거에요. 눈금선 없이 한동안 써봤는데 꽤 불편하더군요. 눈금선이 있는 게 좋아요. 그런데, 눈금선이 있는 게 더 불편한 경우가 있어요. 바로 모양을 꾸밀 때에요. 인쇄용 보고서를 만들기 위해 선을 그리고 ...

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

개요 AVERAGE는 산술평균을 구하는 함수이다. 특정 조건에 맞는 값들의 산술평균을 구하고 싶다면 AVERAGEIF 또는 AVERAGEIFS 함수를 사용한다. AVERAGE 구문 AVERAGEA(value1, , ...) value1은 필수 요소이고, 이후의 value는 선택 요소이다. 평균을 구하려는 셀, 셀 범위 또는 값으로, 1개에서 255개까지 지정할 수 있다. 예제 예제 1 1, 2, 3의 산술평균을 구한다. 예제 2 1, 2의 산술평균을 구한다. 범위에 문자가 포함된 경우 무시한다. AVERAGEIF 구문 AVERAGEIF(range, criteria, ) range ...

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

개요 SUM은 합을 구하는 함수이다. SUMIF와 SUMIFS는 조건에 맞는 값들의 합계를 구하는 함수이다. SUMIF는 조건이 하나일 때 사용하고, SUMIFS는 조건이 여러 개일 때 사용힌다.(조건이 하나일 때 SUMIFS를 사용해도 된다.) 구문 SUM SUM(number1, , ...) number1 : 필수 요소로, 합하려는 첫 번째 숫자 또는 범위 number2, ... : 선택 요소로, 합하려는 추가 숫자 또는 범위 SUMIF SUMIF(range, criteria, ) range : 필수 ...

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

여러 워크시트 동시 작업 여러 워크시트에서 동시에 작업할 때가 있습니다. A 시트에서는 데이터를 관리하고, B 시트에서는 그 데이터를 분석하고... 작업을 하면서 여러 시트를 왔다갔다 하는 게 많이 불편합니다. 그럴 땐 한 화면에서 여러 시트를 한 번에 볼 수 있게 만들면 좋습니다. 시트간 이동도 편하고, 한 눈에 모든 걸 볼 수 있는 것도 ...

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

행, 열, 셀 엑셀은 표 형태로 되어 있어요. 가로를 행이라 하고, 세로를 열이라 하고, 각 칸을 셀이라 합니다. 행은 숫자로 구분하고, 열은 문자로 구분해요. 셀은 열과 행의 이름을 합하여 나타냅니다. 예를 들어 D3는 D열과 3행이 만나는 셀을 의미합니다. 사용할 수 있는 행과 열의 개수는 정해져있어요. 꽤 많긴 하지만 무한대로 있지는 않아요. 최대 몇 ...

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

개요 SUMPRODUCT는 곱들의 합을 구하는 함수이다. 이것을 주어진 배열에서 해당 요소를 모두 곱하고 그 곱의 합계를 반환한다고 표현한다. 표현은 복잡하지만, PRODUCT를 구하고 그 다음 SUM을 구한다고 생각하면 된다. 구문 SUMPRODUCT(array1, , ...) 각 배열에 같은 순서에 있는 값들을 곱한 후 다 더한 값을 출력한다. 배열 안의 값의 개수, 즉 차원이 같아야 한다. 만약 다르면 #VALUE! ...

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

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

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

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

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

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

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀은 선택한 영역만 인쇄하는 기능을 갖고 있습니다. 일부분만 인쇄하기 위해서 새로 시트를 만들 필요가 없습니다. 인쇄하고 싶은 셀들을 선택합니다. Ctrl+P를 눌러서 인쇄 창을 엽니다. 그리고 를 선택합니다. 미리보기에서 어떻게 인쇄가 되는지 볼 수 있습니다. 설정을 마쳤으면 를 클릭하여 출력합니다.

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

개요 UPPER, LOWER, PROPER는 대문자 또는 소문자 변환과 관련된 함수입니다. UPPER : 모두 대문자(upper case)로 바꿉니다. LOWER : 모두 소문자(lower case)로 바꿉니다. PROPER : 단어의 첫글자는 대문자로, 나머지는 소문자로 바꿉니다. 구문 UPPER(text) LOWER(text) PROPER(text) text : 필수 요소로, 대문자로 또는 소문자로 변환할 텍스트입니다. PROPER 함수 단어의 첫째 문자를 대문자로 변환하고, 나머지 문자들은 소문자로 변환합니다. 예를 들어 PROPER("abCdE") 는 Abcde입니다. 단어의 첫째 문자가 영문자가 아닌 경우, 영문자가 아닌 문자 다음에 오는 영문자를 대문자로 ...