Excel용 매크로를 작성하는 방법. Excel의 매크로 - 사용 지침. 탭에 매크로 버튼 추가

주제 2.3. 프레젠테이션 소프트웨어 및 사무용 프로그래밍 기초

주제 2.4. 데이터베이스 관리 시스템 및 전문가 시스템

2.4.11. 기본 버튼 형태가 "Training_students"인 교육 데이터베이스 - 다운로드

VBA 프로그래밍 및 매크로

2.3. 프레젠테이션 소프트웨어 및 사무용 프로그래밍 기초

2.3.7. 사무용 프로그래밍 기초

애플리케이션용 BASIC 시각적 프로그래밍 언어: VBA(Visual Basic for Application)

VBA는 VB 응용 프로그램을 만드는 데 필요한 거의 모든 도구를 포함하는 시각적 프로그래밍 언어 Visual Basic(VB)의 하위 집합입니다.

VBA는 Office 개체와 직접 작동하도록 설계되었으며 Office 응용 프로그램과 독립적인 프로젝트를 만드는 데 사용할 수 없다는 점에서 VB 프로그래밍 언어와 다릅니다. 따라서 VBA에서 프로그래밍 언어는 VB이며 프로그래밍 환경은 모든 MS Office 응용 프로그램에서 활성화할 수 있는 VB 편집기 형식으로 구현됩니다.

예를 들어 PowerPoint에서 VBA 편집기를 열려면 도구 / 매크로 / VBA 편집기 명령을 실행해야 합니다. 보기 메뉴에서 Microsoft PowerPoint 명령을 선택하거나 Alt + F11 키 조합을 눌러 편집기에서 응용 프로그램으로 돌아갈 수 있습니다.

내장된 VBA 편집기 컨트롤 및 양식 편집기 세트를 사용하여 사용자는 다음을 만들 수 있습니다. 사용자 인터페이스함께 개발 중인 프로젝트에 대해 화면 형태. 컨트롤은 개체이며 각 개체에는 정의된 가능한 이벤트 세트가 있습니다(예: 마우스 클릭 또는 두 번 클릭, 키 누르기, 개체 끌기 등).

각 이벤트는 특정 프로그램 동작(응답, 반응)으로 나타납니다. 사용자 양식을 사용하면 응용 프로그램 대화 상자 창을 만들 수 있습니다. VBA 프로그래밍 언어는 Excel에서 사용자 기능을 생성하는 등의 프로그램 코드를 작성하는 데 사용됩니다.

VBA 프로그래밍 시스템은 Office 개체와 함께 작동하도록 설계되었기 때문에 개발 활동을 자동화하는 데 효과적으로 사용할 수 있습니다. 다양한 방식서류.

VBA에서 사용자 함수를 생성하는 알고리즘을 살펴보겠습니다.

1. 도구 / 매크로 / Visual Basic Editor 명령을 실행하거나 Alt+F11을 눌러 VBA 코드 편집기 창을 엽니다.

2. 편집기 메뉴 항목 삽입 / 모듈을 선택합니다.

3. 다음으로 삽입/프로시저를 수행합니다. 프로시저 추가 대화 상자가 열리면 함수 이름(예: SUM5)을 입력하고 스위치를 설정합니다. 유형 – 함수 위치, 범위(Scope) - 공개(일반) 위치로 이동하고 확인을 클릭합니다.


쌀. 1.

4. VBA 프로그래밍용 편집기 창에 제목 - 공용 함수 SUM5() 및 종료 - 함수 종료와 같은 함수 템플릿이 표시되며, 그 사이에 함수 본문 코드를 배치해야 합니다.


쌀. 2.

5. 다음으로 함수 매개변수 목록을 입력합니다. 예를 들어 괄호 안에는 (x, y, z, i, j), 데이터 유형(정확한 계산을 위해) 및 함수에서 반환된 값 유형(우리는 이 예에서는 입력하지 않습니다.) 또한 함수의 본문을 소개합니다(예: SUM5 = x + y + z + i + j). 결과적으로 다음과 같은 프로그램 텍스트를 얻습니다.

공개 함수 SUM5(x, y, z, i, j)
SUM5 = x + y + z + i + j
기능 종료

6. 창으로 돌아가기 엑셀 애플리케이션, 예를 들어 5개의 값을 합산해야 합니다.

7. “삽입/함수”를 실행하여 열리는 함수 마법사 창에서 “사용자 정의” 항목을 선택하고, “함수 선택” 창에서 SUM5를 선택하고 확인을 클릭합니다.



쌀. 삼.



쌀. 4.

매크로

매크로 만들기

A1, B1 셀의 두 숫자를 자동으로 합산하고 결과를 C1 셀에 배치하고 C1 셀을 청록색으로 채우는 매크로를 만들어 보겠습니다.

작업에 대한 매크로를 생성하는 알고리즘:

1. 도구/매크로를 선택하고 기록 시작을 선택합니다.

2. 매크로 이름 필드에 매크로 이름을 입력합니다. 매크로 이름의 첫 번째 문자는 문자여야 합니다. 매크로 이름에는 공백이 허용되지 않습니다. 밑줄을 단어 구분 기호로 사용할 수 있습니다.

3. 키보드 단축키를 사용하여 매크로를 실행하려면 키보드 단축키 필드에 문자를 입력합니다. CTRL+ 문자(소문자의 경우) 또는 CTRL+SHIFT+ 문자(대문자의 경우) 조합을 사용할 수 있습니다. 여기서 문자는 키보드의 문자 키입니다. 선택한 키보드 단축키가 표준 키보드 단축키보다 우선하므로 표준 키보드 단축키를 선택하지 마십시오. 마이크로 소프트 엑셀그때 이 책과 함께.

4. "저장" 필드에서 매크로를 저장할 통합 문서를 선택합니다. 매크로를 "이 통합 문서"에 저장합니다. 생성을 위해 간단한 설명매크로를 사용하려면 설명 필드에 필요한 텍스트를 입력하세요. 스크린샷은 "매크로 기록" 대화 상자를 작성하는 예를 보여줍니다.


쌀. 5.

5. 확인을 클릭합니다.

6. 기록하려는 매크로 명령을 실행합니다.


쌀. 6.

7. 부동 OS 도구 모음(기록 중지)에서 기록 중지 버튼을 클릭하거나 도구/매크로/매크로 중지를 클릭합니다.

매크로 기록이 완료되면 해당 이름 아래의 매크로 목록에 나타납니다.

VBA 편집기는 수행된 작업을 기반으로 일련의 매크로 명령 또는 프로그램을 자동으로 기록했습니다(그림 7).



쌀. 7.

매크로를 호출하려면 도구 / 매크로 / 매크로 명령을 실행해야 합니다. 그런 다음 매크로 목록이 있는 대화 상자에서 이름으로 매크로를 찾고 실행 버튼을 클릭할 수 있습니다.

매크로 실행을 위한 도구 모음 버튼 할당

내장된 도구 모음에 있는 버튼을 사용하여 매크로를 시작할 수 있습니다. 이를 수행하려면 다음을 수행해야 합니다.

  1. 도구 메뉴에서 설정을 선택합니다.
  2. 설정 대화 상자에서 명령 탭을 선택하고 범주 목록에서 매크로 옵션을 선택한 다음 명령 목록에서 "사용자 정의 버튼"을 선택합니다.
  3. 명령 목록에서 마우스를 사용하여 사용자 정의 버튼을 도구 모음으로 드래그합니다.
  4. 이 버튼을 마우스 오른쪽 버튼으로 클릭하고 다음에 매크로 할당을 선택하세요. 상황에 맞는 메뉴.
  5. 매크로 이름 필드에 매크로 이름을 입력합니다.

매크로를 실행하기 위해 그래픽 개체 영역 할당:

  1. 그래픽 개체를 만듭니다.
  2. 선택한 그래픽 개체에 상황에 맞는 메뉴를 적용합니다.
  3. 상황에 맞는 메뉴에서 매크로 할당 명령을 선택합니다.
  4. 나타나는 개체에 매크로 할당 대화 상자에서 매크로 이름 필드에 매크로 이름을 입력한 다음 확인을 클릭합니다.

매크로 편집은 VBA 편집기를 사용하여 수행됩니다. 이를 수행하려면 다음을 수행해야 합니다.

  1. 도구 / 매크로 / 매크로 명령을 선택합니다.
  2. 이름 목록에서 변경하려는 매크로 이름을 선택합니다.
  3. 편집 버튼을 클릭하면 Visual Basic 창이 열립니다. 여기에서 Visual Basic으로 작성된 선택된 매크로의 명령을 편집할 수 있습니다.


매크로 제거:

  1. 도구 메뉴에서 매크로를 선택한 다음 매크로를 선택합니다.
  2. 현재 통합 문서의 매크로 목록에서 삭제하려는 매크로를 선택하고 삭제 버튼을 클릭해야 합니다.

매크로 이름 바꾸기

매크로 이름을 바꾸려면 매크로 편집 모드로 들어가서 프로그램 텍스트의 제목을 변경해야 합니다. 새 이름은 매크로 목록의 이전 이름을 자동으로 대체하며 단축키는 새 이름으로 매크로를 호출합니다.

먼저 용어에 대해 조금 설명하겠습니다.

매크로- 엑셀 내장 언어로 작성된 코드입니다. VBA(응용프로그램용 Visual Basic). 매크로는 수동으로 생성하거나 소위 매크로 레코더를 사용하여 자동으로 기록할 수 있습니다.

매크로 레코더 Excel에서 수행하는 모든 작업을 단계별로 기록하고 이를 VBA 코드로 변환하는 Excel 도구입니다. 매크로 레코더는 필요한 경우 나중에 편집할 수 있는 매우 상세한 코드(나중에 살펴보겠지만)를 생성합니다.

기록된 매크로는 무제한으로 실행할 수 있으며 Excel은 기록된 모든 단계를 반복합니다. 즉, VBA에 대해 전혀 모르더라도 단계를 기록하고 나중에 다시 사용하여 일부 작업을 자동화할 수 있습니다.

이제 Excel에서 매크로를 기록하는 방법을 살펴보겠습니다.

메뉴 리본에 개발자 탭 표시

매크로를 기록하기 전에 Excel 메뉴 리본에 개발 도구 탭을 추가해야 합니다. 이렇게 하려면 다음 단계를 따르세요.

결과적으로 "개발자"탭이 메뉴 리본에 나타납니다.

Excel에서 매크로 기록

이제 "Excel"과 같이 셀을 선택하고 셀에 텍스트를 입력하는 매우 간단한 매크로를 작성해 보겠습니다.

이러한 매크로를 기록하는 단계는 다음과 같습니다.

축하해요! 방금 Excel에 첫 번째 매크로를 기록했습니다. 매크로가 유용한 기능을 수행하지는 않지만 Excel에서 매크로 기록이 작동하는 방식을 이해하는 데 도움이 됩니다.

이제 매크로 레코더가 기록한 코드를 살펴보겠습니다. 코드 편집기를 열려면 다음 단계를 따르세요.


실행 버튼을 클릭하면 "Excel"이라는 텍스트가 A2 셀에 삽입되고 A3 셀이 선택되는 것을 볼 수 있습니다. 이는 밀리초 안에 발생합니다. 그러나 실제로 매크로는 기록된 작업을 순차적으로 수행했습니다.

메모. 키보드 단축키 Ctrl + Shift + N(Ctrl 및 Shift 키를 누른 상태에서 N 키 누르기)을 사용하여 매크로를 실행할 수도 있습니다. 이는 매크로를 기록할 때 매크로에 할당한 것과 동일한 레이블입니다.

매크로는 무엇을 기록하나요?

이제 코드 편집기로 가서 우리가 얻은 것을 살펴보겠습니다.

Excel에서 VB 편집기를 여는 단계는 다음과 같습니다.

  1. 코드 그룹에서 Visual Basic 버튼을 클릭합니다.

Alt + F11 키 조합을 사용하여 VBA 코드 편집기로 이동할 수도 있습니다.

  • 메뉴바: VB 편집기로 작업하는 동안 사용할 수 있는 명령이 포함되어 있습니다.
  • 툴바- 패널처럼 생겼어요 빠른 접근엑셀에서. 자주 사용하는 도구를 추가할 수 있습니다.
  • 프로젝트 탐색기- 여기 Excel에는 모든 통합 문서와 각 통합 문서의 모든 개체가 나열됩니다. 예를 들어, 3개의 워크시트가 포함된 통합 문서가 있으면 프로젝트 탐색기에 나타납니다. 여기에는 모듈, 사용자 양식 및 클래스 모듈과 같은 몇 가지 추가 개체가 있습니다.
  • 코드 창- VBA 코드 자체가 이 창에 있습니다. 프로젝트 탐색기에 나열된 각 개체에는 워크시트, 통합 문서, 모듈 등과 같은 코드 창이 있습니다. 이 자습서에서는 기록된 매크로가 모듈 코드 창에 있음을 확인합니다.
  • 속성 창- 이 창에서 각 개체의 속성을 볼 수 있습니다. 나는 종종 이 창을 사용하여 개체에 레이블을 지정하거나 개체의 속성을 변경합니다.
  • 직접 실행 창(미리보기 창) - 초기 단계에서는 필요하지 않습니다. 단계를 테스트하거나 디버깅하는 동안 유용합니다. 기본적으로 표시되지 않으며 보기 탭을 클릭하고 직접 실행 창 옵션을 선택하여 표시할 수 있습니다.

"EnterText" 매크로를 기록했을 때 VB 편집기에서 다음과 같은 일이 발생했습니다.

  • 새로운 모듈이 추가되었습니다.
  • 매크로는 우리가 지정한 이름인 "InputText"로 기록되었습니다.
  • 코드 창에 새로운 프로시저가 추가되었습니다.

따라서 모듈(이 경우 모듈 1)을 두 번 클릭하면 아래와 같은 코드 창이 나타납니다.

매크로 레코더에 의해 기록된 코드는 다음과 같습니다.

SubTextEnter() " "TextEnter 매크로 " " 범위("A2").ActiveCell.FormulaR1C1 = "Excel" 범위("A3")를 선택합니다. End Sub 선택

VBA에서는 "(아포스트로피) 뒤에 오는 줄은 실행되지 않습니다. 이는 정보 제공 목적으로만 사용되는 주석입니다. 이 코드의 처음 다섯 줄을 제거해도 매크로는 계속 작동합니다.

이제 각 코드 줄을 살펴보고 내용과 이유를 설명하겠습니다.

코드는 다음으로 시작합니다. 보결그 뒤에는 매크로 이름과 빈 괄호가 옵니다. 서브는 서브루틴의 약자입니다. VBA의 모든 서브루틴(프로시저라고도 함)은 다음으로 시작합니다. 보결그리고 끝난다 서브 끝.

  • Range("A2").Select - 이 줄은 셀 A2를 선택합니다.
  • ActiveCell.FormulaR1C1 = "Excel" - 이 줄은 활성 셀에 "Excel"이라는 텍스트를 입력합니다. 첫 번째 단계로 A2 셀을 선택했으므로 활성 셀이 됩니다.
  • 범위("A3").선택 - A3 셀을 선택합니다. 이는 A3 셀을 선택하는 텍스트를 입력한 후 Enter 키를 누르면 발생합니다.

Excel에서 매크로를 기록하는 방법에 대한 기본적인 이해가 있기를 바랍니다.

매크로 레코더를 통해 기록된 코드는 일반적으로 효율적이거나 최적화된 코드가 아닙니다. 매크로 레코더는 불필요한 단계를 추가하는 경우가 많습니다. 하지만 이것이 매크로 레코더를 사용할 필요가 없다는 의미는 아닙니다. VBA를 처음 배우는 사람들에게 매크로 레코더는 VBA에서 모든 것이 어떻게 작동하는지 분석하고 이해하는 좋은 방법이 될 수 있습니다.

절대 및 상대 매크로 기록

Excel의 절대 링크와 상대 링크에 대해 이미 알고 계십니까? 매크로를 기록하기 위해 절대 참조를 사용하는 경우 VBA 코드는 항상 사용한 것과 동일한 셀을 참조합니다. 예를 들어 A2 셀을 선택하고 "Excel"이라는 텍스트를 입력하면 워크시트의 어느 위치에 있든, 어떤 셀이 선택되어 있든 항상 코드에서 A2 셀에 "Excel"이라는 텍스트를 입력합니다.

매크로를 기록하기 위해 상대 참조 옵션을 사용하는 경우 VBA는 특정 셀 주소에 바인딩되지 않습니다. 이 경우 프로그램은 활성 셀을 기준으로 "이동"합니다. 예를 들어 이미 A1 셀을 선택했고 상대 링크 모드에서 매크로 기록을 시작한다고 가정해 보겠습니다. 이제 A2 셀을 선택하고 다음을 입력합니다. 엑셀 텍스트그리고 Enter를 누르세요. 이제 이 매크로를 실행하면 A2 셀로 돌아가지 않고 대신 활성 셀을 기준으로 이동합니다. 예를 들어 B3 셀을 선택하면 B4로 이동하고 "Excel"이라는 텍스트를 쓴 다음 K5 셀로 이동합니다.

이제 상대 링크 모드에서 매크로를 기록해 보겠습니다.

상대 링크 모드의 매크로가 저장됩니다.

이제 다음을 수행하십시오.

  1. A1을 제외한 모든 셀을 선택합니다.
  2. "개발자" 탭으로 이동합니다.
  3. 코드 그룹에서 매크로 버튼을 클릭합니다.
  4. 매크로 대화 상자에서 저장된 상대 참조 매크로를 클릭합니다.
  5. "실행" 버튼을 클릭하세요.

보시다시피 매크로는 "Excel" 텍스트를 셀 A2에 쓰지 않았습니다. 이는 상대 참조 모드에서 매크로를 기록했기 때문에 발생했습니다. 따라서 커서는 활성 셀을 기준으로 이동합니다. 예를 들어 B3 셀을 선택한 상태에서 이 작업을 수행하면 Excel 텍스트(B4 셀)로 이동하여 B5 셀이 선택됩니다.

매크로 레코더가 기록한 코드는 다음과 같습니다.

코드에서는 B3 또는 B4 셀을 참조하지 않습니다. 매크로는 Activecell을 사용하여 현재 셀과 해당 셀을 기준으로 한 오프셋을 참조합니다.

코드의 Range("A1") 부분을 무시하십시오. 이는 매크로 레코더가 아무 목적도 없고 제거할 수 없는 불필요한 코드를 추가하는 경우 중 하나입니다. 그것 없이는 코드가 잘 작동합니다.

매크로 레코더로 무엇을 할 수 없나요?

매크로 레코더는 Excel에서 유용하며 정확한 단계를 기록하지만 그 이상을 수행해야 하는 경우에는 올바른 선택이 아닐 수 있습니다.

  • 개체를 선택하지 않으면 코드를 실행할 수 없습니다. 예를 들어, 매크로가 다음 워크시트로 이동하여 현재 워크시트를 떠나지 않고 A열의 채워진 모든 셀을 강조 표시하도록 하려는 경우 매크로 기록기는 이를 수행할 수 없습니다. 이러한 경우에는 코드를 수동으로 편집해야 합니다.
  • 매크로 레코더를 사용하여 사용자 정의 함수를 생성할 수 없습니다. VBA를 사용하면 워크시트에서 일반 함수로 사용할 수 있는 사용자 지정 함수를 만들 수 있습니다.
  • 매크로 레코더를 사용하여 루프를 만들 수 없습니다. 그러나 하나의 작업을 기록하고 코드 편집기에서 수동으로 루프를 추가할 수 있습니다.
  • 조건을 분석할 수 없습니다. 매크로 레코더를 사용하여 코드에서 조건을 확인할 수 있습니다. VBA 코드를 직접 작성하는 경우 IF Then Else 문을 사용하여 조건을 평가하고 true인 경우 코드(또는 false인 경우 다른 코드)를 실행할 수 있습니다.

매크로가 포함된 Excel 파일의 확장자

매크로를 기록하거나 Excel에서 VBA 코드를 수동으로 작성하는 경우 매크로 지원 파일 확장명(.xlsm)을 사용하여 파일을 저장해야 합니다.

Excel 2007 이전에는 .xls라는 하나의 파일 형식이면 충분했습니다. 그러나 2007년부터 .xlsx가 표준 파일 확장자로 도입되었습니다. .xlsx로 저장된 파일에는 매크로가 포함될 수 없습니다. 따라서 확장자가 .xlsx인 파일이 있고 매크로를 작성/기록하고 저장하면 매크로 지원 형식으로 저장하라는 경고가 표시되고 다음 대화 상자가 표시됩니다.

아니요를 선택하면 Excel에서는 매크로 사용 형식으로 파일을 저장합니다. 그러나 예를 클릭하면 Excel이 통합 문서에서 모든 코드를 자동으로 제거하고 파일을 .xlsx 형식의 통합 문서로 저장합니다. 따라서 통합 문서에 매크로가 있는 경우 해당 매크로를 저장하려면 .xlsm 형식으로 저장해야 합니다.

매크로란 무엇입니까? 매크로저장된 작업 순서 또는 VBA(Visual Basic for Application)에서 생성된 프로그램입니다. 자주 묻는 질문 Excel에서 매크로를 작성하는 방법은 무엇입니까? 단지.

저것들. 동일한 작업을 여러 번 수행해야 하는 경우 이러한 작업을 기억하고 버튼 하나로 실행할 수 있습니다. 이 기사에서는 VBA를 배우도록 강요하거나 많은 표준 매크로를 제안하지도 않습니다. 실제로는 누구나 엑셀에서 매크로를 생성/작성할 수 있습니다. 이를 위해 Excel의 가장 흥미롭고 특이한 기능이 있습니다. 매크로 레코더(당신의 행동을 코드 형태로 기록합니다). 저것들. 비디오와 같은 작업을 녹화하고 이를 코드(시퀀스)로 변환할 수 있습니다.

간단히 말해서, 매일 동일한 작업을 수행한다면 이 프로세스를 자동화하는 방법을 알아내는 것이 좋습니다. Excel에서 매크로를 작성하는 방법을 알아보려면 계속 읽어보세요.

1.매크로 허용

메뉴(왼쪽 상단의 둥근 버튼) - 엑셀 옵션— 보안 센터 — 보안 센터 설정 — 매크로 설정. "모든 매크로 활성화" 확인란을 선택합니다.

아니면 개발자 탭에서도 동일한 작업을 수행하세요.

2. 개발자 메뉴 활성화 빠른 작업매크로 포함

메뉴(왼쪽 상단의 둥근 버튼) - Excel 옵션 - 일반 - 개발자 탭 표시.

생성된 매크로를 통합 문서에 저장하려면 해당 파일을 통합 문서에 저장해야 합니다. .xlsm 또는 .xlsb.다른 이름으로 저장 - 매크로 사용 Excel 통합 문서 또는 이진 통합 문서를 클릭합니다.

그렇다면 Excel에서 매크로를 작성하는 방법은 무엇입니까?

간단 해. 엑셀로 가보겠습니다. 페이지 하단의 시트 라벨 아래에 '매크로 기록' 버튼이 있습니다.

버튼을 클릭하면 “매크로 기록” 창이 열립니다. 매크로 이름: 필드에 원하는 대로 매크로 이름을 지정합니다. 나중에 호출하는 데 사용할 키 조합을 설정합니다(선택 사항).

확인을 클릭하세요. 매크로 레코더가 기록을 시작했습니다.

모두. 이제 매크로로 기억해야 할 작업을 수행합니다. 예를 들어 행 하나를 삭제하고 셀 A1을 노란색으로 지정해야 합니다.

이러한 조작 중에 시트 아래의 "매크로 기록"버튼 대신 사각형이 켜지고 클릭하면 매크로 실행이 중지됩니다.

무슨 일이 일어났는지 어떻게 시작하나요? 버튼을 클릭하면 매크로 선택 창이 나타나며, 원하는 매크로를 선택한 후 실행 버튼을 클릭하세요.

무슨 일이 일어났는지 어떻게 알 수 있나요? 버튼을 클릭하세요. 원하는 매크로를 선택하고 편집을 클릭하세요. 매크로 기록 창(VBA 창)이 열립니다.

매크로 코드는 다음과 같아야 합니다.

Sub 예제1() " 예제1 매크로 행("2:2").선택 항목 선택.Shift 삭제:=xlUp Range("A1").선택 항목으로 선택.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic.Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End Sub로 종료

'는 주석 기호입니다. 이 줄은 코드에 포함되지 않습니다. 매크로에는 이름(Sub example1())과 끝(End Sub)이 있어야 합니다.

매크로 버튼을 만드는 방법을 읽어보세요.

따라서, 원하는 만큼 여러 번 반복할 수 있도록 모든 작업을 기록할 수 있습니다!

컴퓨터의 모든 책에 대한 매크로를 저장하는 방법을 읽어보세요.

이렇게 하려면 개인을 사용하세요.

조건에 따라 매크로를 실행하는 방법을 읽을 수 있습니다.

행운을 빕니다. 이 내용이 매우 유용할 것이라고 확신합니다!

소셜 네트워크에서 기사를 공유하세요.

테이블이나 기타 Office 개체를 사용하면 동일한 작업을 수행해야 하는 상황이 자주 발생합니다. 이는 추가 시간이 소요될 뿐만 아니라 매우 짜증나는 일이기도 합니다. 다행히도 이 문제를 해결하는 매크로가 있습니다.

VBA 환경은 매크로 작성을 위해 설계되었지만 매크로 작성 방법을 배우기 위해 프로그래머가 되거나 Visual Basic for Application을 공부할 필요는 없습니다. 이를 위해 추가 지식 없이도 명령에 따라 VBA 코드를 생성하는 특별히 개발된 도구가 있습니다. 하지만 이 언어를 익히는 것은 그리 어렵지 않습니다.

매크로는 기록 도구를 사용하여 응용 프로그램에서 생성됩니다. 이 경우 특정 키 조합에 원하는 작업 순서가 할당됩니다. Office 응용 프로그램을 엽니다. 포맷할 조각을 선택합니다.

메뉴 항목 "도구" -> "매크로" -> "기록 시작"(Office 2007의 경우 - "보기" -> "매크로" -> "매크로 기록")을 선택합니다. 나타나는 "매크로 기록" 창에서 새 매크로의 이름을 설정합니다. 기본적으로 "Macro1"이지만 특히 여러 개의 매크로가 있는 경우 이름을 지정하는 것이 좋습니다. 최대 크기이름 필드 – 255자, 점 및 공백 문자는 허용되지 않습니다.

앞으로 매크로가 사용할 버튼이나 키 조합을 결정하세요. 특히 자주 사용하는 경우 가장 편리한 옵션을 선택하십시오. "매크로 할당" 필드에서 "버튼" 또는 "키" 중 적절한 항목을 선택합니다.

"버튼"을 선택하면 "빠른 설정" 창이 열립니다. "키"를 선택하면 키보드에서 해당 조합을 입력하기만 하면 됩니다. 반복을 피하기 위해 "현재 조합"을 검토하십시오. "할당"을 클릭하세요.

Word 및 PowerPoint에서 작성된 매크로는 향후 모든 문서에 유효합니다. 모든 문서에서 Excel 매크로를 사용할 수 있도록 하려면 응용 프로그램을 열 때 자동으로 실행되는 personal.xls 파일에 저장하세요. "Window" -> "Display" 명령을 실행하고 나타나는 창에서 personal.xls 파일 이름이 있는 줄을 선택합니다.

설명 필드에 매크로에 대한 설명을 입력합니다. 확인을 클릭하면 문서로 돌아가지만 이제 마우스 커서에 녹음 아이콘이 표시됩니다. 자동화하려는 작업 순서로 텍스트 서식을 지정합니다. 매크로는 모든 작업을 기록하므로 향후 실행 시간에 영향을 미치므로 매우 조심하고 불필요한 작업을 수행하지 마십시오.

"도구" -> "매크로" -> "녹화 중지" 명령을 실행하세요. 코드 한 줄도 직접 작성하지 않고 VBA 개체를 만들었습니다. 그러나 여전히 수동으로 변경해야 하는 경우 "매크로" 섹션, "변경" 명령 또는 Alt+F8 키 조합을 사용하여 개체를 입력하십시오.

인기 있는 Microsoft Excel 제품의 첫 번째 버전이 1985년에 출시되었다는 사실을 아는 사람은 거의 없습니다. 그 이후로 여러 가지 수정을 거쳤으며 전 세계 수백만 명의 사용자 사이에서 수요가 있습니다. 동시에 많은 사람들은 이 스프레드시트 프로세서의 일부 기능만을 사용하여 작업하며 Excel 프로그래밍 기능이 자신의 삶을 어떻게 더 쉽게 만들 수 있는지조차 깨닫지 못합니다.

VBA 란 무엇입니까?

Excel 프로그래밍은 원래 Microsoft의 가장 유명한 스프레드시트 프로세서에 내장된 Visual Basic for Application 프로그래밍 언어를 사용하여 수행됩니다.

전문가들은 상대적인 학습 용이성을 장점으로 꼽습니다. 실습에서 알 수 있듯이 전문적인 프로그래밍 기술이 없는 사용자라도 VBA의 기본 사항을 익힐 수 있습니다. VBA의 기능에는 사무실 응용 프로그램 환경에서의 스크립트 실행이 포함됩니다.

프로그램의 단점은 다른 버전의 호환성과 관련된 문제입니다. 이는 VBA 프로그램 코드가 액세스한다는 사실로 인해 발생합니다. 기능성, 에 존재하는 새로운 버전제품이지만 이전 제품에는 없습니다. 또한 단점은 외부인의 변경에 대한 코드 개방성이 지나치게 높다는 점입니다. 그럼에도 불구하고 마이크로 소프트 오피스, IBM Lotus Symphony를 사용하면 사용자가 초기 코드를 암호화하고 이를 볼 수 있는 비밀번호를 설정할 수 있습니다.

개체, 컬렉션, 속성 및 메서드

VBA 환경에서 작업하려는 사람들이 이해해야 할 개념은 다음과 같습니다. 먼저 객체가 무엇인지 이해해야 합니다. Excel에서 이러한 기능은 시트, 통합 문서, 셀 및 범위입니다. 이러한 개체에는 특별한 계층 구조가 있습니다. 서로 순종하십시오.

주요한 것은 Application이며, 이는 다음에 해당합니다. 엑셀 프로그램. 그런 다음 통합 문서, 워크시트 및 범위를 선택하세요. 예를 들어 특정 워크시트의 A1 셀에 액세스하려면 계층 구조를 고려한 경로를 지정해야 합니다.

"컬렉션"이라는 개념은 항목에서 ChartObjects 형식을 갖는 동일한 클래스의 개체 그룹입니다. 개별 요소도 객체입니다.

다음 개념은 속성입니다. 그것들은 모든 물체의 필수 특성입니다. 예를 들어 범위의 경우 값 또는 공식입니다.

메소드는 수행해야 할 작업을 나타내는 명령입니다. VBA에서 코드를 작성할 때는 마침표로 개체와 구분해야 합니다. 예를 들어 나중에 설명하겠지만 Excel에서 프로그래밍할 때 Cells(1,1).Select 명령이 사용되는 경우가 많습니다. 좌표가 있는 셀을 선택해야 한다는 의미입니다.

Selection.ClearContents는 종종 함께 사용됩니다. 이를 실행한다는 것은 선택한 셀의 내용을 지우는 것을 의미합니다.

시작하는 방법

그런 다음 "Alt"와 "F11" 키 조합을 사용해야 하는 VB 응용 프로그램으로 이동해야 합니다. 더 나아가:

  • 창 상단에 있는 메뉴 표시줄에서 Excel 아이콘 옆에 있는 아이콘을 클릭합니다.
  • Mudule 명령을 선택하십시오.
  • 이미지가 있는 아이콘을 클릭하여 저장하세요.
  • 예를 들어, 그들은 코드 초안을 작성합니다.

다음과 같습니다.

하위 프로그램()

"우리의 코드

"Our code" 줄은 다른 색상(녹색)으로 강조 표시됩니다. 그 이유는 줄 시작 부분에 주석이 따라온다는 것을 나타내는 아포스트로피 때문입니다.

이제 원하는 코드를 작성하고 새로운 도구를 직접 만들 수 있습니다. VBA 엑셀(아래 프로그램 예 참조) 물론, Visual Basic의 기본에 익숙한 분들에게는 훨씬 쉬울 것입니다. 그러나 가지고 있지 않은 사람이라도 원한다면 충분히 빨리 익숙해질 수 있습니다.

Excel의 매크로

이 이름은 Visual Basic for Application으로 작성된 프로그램을 숨깁니다. 따라서 Excel에서 프로그래밍하는 것은 다음을 사용하여 매크로를 생성하는 것입니다. 필요한 코드. 이 기능 덕분에 Microsoft 스프레드시트 프로세서는 특정 사용자의 요구 사항에 맞게 자체적으로 개발됩니다. 매크로 작성을 위한 모듈을 만드는 방법을 알아낸 후에는 다음을 고려할 수 있습니다. 구체적인 예 VBA 엑셀 프로그램. 가장 기본적인 코드부터 시작하는 것이 가장 좋습니다.

실시예 1

과제: 한 셀의 내용 값을 복사한 다음 이를 다른 셀에 쓰는 프로그램을 작성하세요.

이를 위해:

  • "보기" 탭을 엽니다.
  • "매크로" 아이콘으로 이동합니다.
  • "매크로 기록"을 클릭하세요.
  • 열리는 양식을 작성하세요.

단순화를 위해 "매크로 이름" 필드에 "Macro1"을 그대로 두고 "키보드 단축키" 필드에 hh 등을 삽입합니다. 즉, 빠른 명령 "Ctrl+h"를 사용하여 프로그램을 시작할 수 있습니다. 엔터 키를 치시오.

이제 매크로 기록이 이미 시작되었으므로 셀의 내용이 다른 셀에 복사됩니다. 원래 아이콘으로 돌아갑니다. "매크로 기록"을 클릭하세요. 이 조치는 프로그램의 종료를 의미합니다.

  • "매크로" 줄로 돌아가세요.
  • 목록에서 "매크로 1"을 선택하십시오.
  • "실행"을 클릭합니다("Ctrl+hh" 키 조합을 시작하면 동일한 작업이 시작됩니다).

결과적으로 매크로를 기록하는 동안 수행된 작업이 발생합니다.

코드가 어떻게 보이는지 보는 것이 합리적입니다. 이렇게 하려면 "매크로" 줄로 돌아가서 "변경" 또는 "로그인"을 클릭하세요. 결과적으로 그들은 VBA 환경에 있게 됩니다. 실제로 매크로 코드 자체는 Sub Macro1()과 End Sub 줄 사이에 있습니다.

예를 들어 셀 A1에서 셀 C1로 복사가 완료된 경우 코드 줄 중 하나는 Range(“C1”).Select와 같습니다. 번역하면 "Range("C1").Select"처럼 보입니다. 즉, VBA Excel, C1 셀로 이동합니다.

코드의 활성 부분은 ActiveSheet.Paste 명령으로 완성됩니다. 이는 선택한 셀(이 경우 A1)의 내용을 선택한 셀 C1에 쓰는 것을 의미합니다.

실시예 2

VBA 루프를 사용하면 Excel에서 다양한 매크로를 만들 수 있습니다.

VBA 루프를 사용하면 다양한 매크로를 만들 수 있습니다. y=x + x 2 + 3x 3 - cos(x)라는 함수가 있다고 가정합니다. 그래프를 얻으려면 매크로를 만들어야 합니다. 이는 VBA 루프를 통해서만 수행할 수 있습니다.

함수 인수의 초기값과 최종값은 x1=0, x2=10이다. 또한 상수(인수 변경 단계의 값과 카운터의 초기 값)를 입력해야 합니다.

모든 VBA Excel 매크로 예제는 위에 제시된 것과 동일한 절차를 사용하여 생성됩니다. 이 특별한 경우 코드는 다음과 같습니다.

하위 프로그램()

단계 = 0.1

하는 동안 x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Cells(i, 1).Value = x1(값 x1은 좌표가 (i,1)인 셀에 기록됩니다.)

Cells(i, 2).Value = y (y 값은 좌표 (i,2)가 있는 셀에 기록됩니다.)

i = i + 1(카운터가 유효함);

x1 = x1 + shag (인수는 단계 값에 따라 변경됩니다);

하위 종료

Excel에서 이 매크로를 실행하면 두 개의 열이 생성됩니다. 첫 번째 열에는 x 값이 포함되고 두 번째 열에는 y 값이 포함됩니다.

그런 다음 Excel의 표준 방식으로 그래프가 작성됩니다.

실시예 3

다른 버전과 마찬가지로 VBA Excel 2010에서 루프를 구현하려면 이미 제공된 Do While 구문과 함께 For가 사용됩니다.

기둥을 생성하는 프로그램을 고려하십시오. 각 셀에 해당 행 번호의 제곱이 기록됩니다. For 구조를 사용하면 카운터를 사용하지 않고도 매우 간단하게 작성할 수 있습니다.

먼저 위에서 설명한 대로 매크로를 만들어야 합니다. 다음으로 코드 자체를 적어보겠습니다. 우리는 10개 셀의 값에 관심이 있다고 가정합니다. 코드는 다음과 같습니다.

i = 1 ~ 10의 경우 다음

이 명령은 "1부터 10까지 한 단계씩 반복"으로 "인간"의 언어로 번역됩니다.

예를 들어 1부터 11까지의 범위에 있는 모든 홀수로 구성된 사각형 열을 얻는 것이 작업이라면 다음과 같이 작성합니다.

i = 1 ~ 10인 경우 1단계 다음입니다.

여기서 단계는 단계입니다. 이 경우에는 2와 같습니다. 기본적으로 사이클에 이 단어가 없으면 단계가 단일임을 의미합니다.

얻은 결과는 번호가 매겨진 셀(i,1)에 저장되어야 합니다. 그런 다음 루프가 시작될 때마다 i가 단계 크기만큼 증가하면서 행 번호가 자동으로 증가합니다. 이렇게 하면 코드가 최적화됩니다.

전반적으로 코드는 다음과 같습니다.

하위 프로그램()

For i = 1 To 10 1단계(간단히 For i = 1 To 10이라고 쓸 수 있음)

Cells(i, 1).Value = i ^ 2(즉, 정사각형 i의 값이 셀 (i,1)에 기록됩니다.

다음(어떤 의미에서는 카운터 역할을 하며 루프의 또 다른 시작을 의미함)

하위 종료

매크로 기록 및 실행(위 지침 참조)을 포함하여 모든 작업이 올바르게 수행되면 매크로를 호출할 때마다 지정된 크기의 열(이 경우 10개 셀로 구성)을 얻게 됩니다.

실시예 4

안에 일상 생활어떤 조건에 따라 하나 또는 다른 결정을 내려야 할 필요성이 자주 발생합니다. VBA Excel에서는 그것들 없이는 할 수 없습니다. 알고리즘의 추가 실행 과정이 선택되고 초기에 미리 결정되지 않은 프로그램의 예에서는 If ...Then 구성(복잡한 경우) If ...Then ...END If를 사용하는 경우가 가장 많습니다.

구체적인 경우를 고려해 봅시다. 좌표 (1,1)이 있는 셀에 다음 내용이 기록되도록 Excel용 매크로를 만들어야 한다고 가정합니다.

인수가 긍정적이면 1이고, 그렇지 않으면 1입니다.

인수가 null이면 0이고, 그렇지 않으면 0입니다.

인수가 음수이면 -1입니다.

Excel용 매크로 생성이 시작됩니다. 표준적인 방법으로, Alt 및 F11 단축키를 사용합니다. 다음으로 다음 코드가 작성됩니다.

하위 프로그램()

x= Cells(1, 1).Value(이 명령은 좌표 (1, 1)에 있는 셀 내용의 값을 x에 할당합니다.)

x>0이면 Cells(1, 1).Value = 1

x=0이면 Cells(1, 1).Value = 0

만약 x<0 Then Cells(1, 1).Value = -1

하위 종료

남은 것은 매크로를 실행하고 Excel에서 인수에 필요한 값을 얻는 것입니다.

VBA 함수

이미 알고 있듯이 Microsoft의 가장 유명한 스프레드시트 프로세서에서 프로그래밍하는 것은 그리 어렵지 않습니다. 특히 VBA 기능을 사용하는 방법을 배우는 경우. 전체적으로 Excel 및 Word에서 응용 프로그램을 작성하기 위해 특별히 만들어진 이 프로그래밍 언어에는 약 160개의 기능이 있습니다. 그들은 여러 개의 큰 그룹으로 나눌 수 있습니다. 이것:

  • 수학 함수. 이를 인수에 적용하면 코사인, 자연 로그, 정수 부분 등의 값을 얻습니다.
  • 재무 기능. 가용성과 Excel 프로그래밍 덕분에 회계 및 재무 계산을 위한 효과적인 도구를 얻을 수 있습니다.
  • 배열 처리 기능. 여기에는 Array, IsArray가 포함됩니다. L바운드; U바운드.
  • 문자열에 대한 Excel VBA 함수입니다. 이것은 상당히 큰 그룹입니다. 예를 들어, 여기에는 정수 인수와 동일한 공백 수로 문자열을 생성하는 Space 함수 또는 문자를 ANSI 코드로 변환하는 Asc 함수가 포함됩니다. 이들 모두는 널리 사용되며 Excel에서 행 작업을 허용하여 이러한 테이블 작업을 크게 촉진하는 응용 프로그램을 만듭니다.
  • 데이터 유형 변환 함수. 예를 들어 CVar는 Expression 인수의 값을 Variant 데이터 유형으로 변환하여 반환합니다.
  • 날짜 작업을 위한 함수. 표준을 크게 확장하므로 WeekdayName 함수는 요일의 이름(전체 또는 부분)을 숫자로 반환합니다. 더욱 유용한 것은 타이머입니다. 자정부터 하루 중 특정 시점까지 경과한 시간(초)을 제공합니다.
  • 숫자 인수를 다른 숫자 체계로 변환하는 함수입니다. 예를 들어 Oct는 숫자를 8진수로 출력합니다.
  • 서식 지정 기능. 그 중 가장 중요한 것은 형식입니다. 형식 선언에 지정된 지침에 따라 형식이 지정된 표현식을 사용하여 Variant 값을 반환합니다.
  • 등.

이러한 기능의 속성과 응용 프로그램을 연구하면 Excel의 범위가 크게 확장됩니다.

실시예 5

더 복잡한 문제를 해결해 보겠습니다. 예를 들어:

기업의 실제 비용 수준을 보고하는 종이 문서가 제공됩니다. 필수의:

  • Excel 스프레드시트를 사용하여 템플릿 부분을 개발합니다.
  • 작성을 위해 초기 데이터를 요청하고, 필요한 계산을 수행하고, 해당 템플릿 셀을 채우는 VBA 프로그램을 만듭니다.

솔루션 옵션 중 하나를 고려해 보겠습니다.

템플릿 만들기

모든 작업은 Excel의 표준 시트에서 수행됩니다. 무료 셀은 소비자 회사 이름, 비용 금액, 수준 및 매출액에 대한 데이터를 입력하기 위해 예약되어 있습니다. 보고서가 작성되는 기업(회사)의 수가 고정되어 있지 않기 때문에 결과에 따른 값과 전문가의 이름을 입력하는 셀이 미리 예약되어 있지 않습니다. 워크시트에 새 이름이 지정됩니다. 예를 들어 "보고서"입니다.

변수

템플릿을 자동으로 채우는 프로그램을 작성하려면 표기법을 선택해야 합니다. 변수에 사용됩니다:

  • NN - 현재 테이블 행의 번호.
  • TP 및 TF - 계획된 거래액과 실제 거래액
  • SF 및 SP - 실제 및 계획된 비용 금액
  • IP 및 IF - 계획된 비용과 실제 비용 수준.

이 열의 합계 누적을 표시하기 위해 동일한 문자를 사용하되 "접두사" Itog를 사용하겠습니다. 예를 들어 ItogTP는 "계획된 매출액"이라는 제목의 테이블 열을 나타냅니다.

VBA 프로그래밍을 사용하여 문제 해결

도입된 표기법을 사용하여 편차에 대한 공식을 얻습니다. % 단위로 계산해야 하는 경우 (F - P) / P * 100이 되며 합계는 - (F - P)입니다.

이러한 계산 결과는 Excel 스프레드시트의 해당 셀에 직접 입력하는 것이 가장 좋습니다.

실제 및 예측 합계의 경우 ItogP=ItogP + P 및 ItogF=ItogF+ F 공식을 사용하여 구합니다.

편차의 경우 계산이 백분율로 수행되는 경우 = (ItogF - ItogP) / ItogP * 100을 사용하고 총 값의 경우 - (ItogF - ItogP)를 사용합니다.

결과는 해당 셀에 즉시 다시 기록되므로 변수에 할당할 필요가 없습니다.

생성된 프로그램을 실행하기 전에 통합 문서를 "Report1.xls"라는 이름으로 저장해야 합니다.

'보고 테이블 생성' 버튼은 헤더 정보를 입력한 후 한 번만 누르면 됩니다. 당신이 알아야 할 다른 규칙이 있습니다. 특히, 각 활동 유형에 대한 값을 테이블에 입력한 후 매번 “행 추가” 버튼을 클릭해야 합니다. 모든 데이터를 입력한 후 '마침' 버튼을 클릭한 후 엑셀 창으로 전환해야 합니다.

이제 매크로를 사용하여 Excel 문제를 해결하는 방법을 알았습니다. 현재 가장 널리 사용되는 텍스트 편집기인 Word에서 작업하려면 vba excel(위의 프로그램 예 참조)을 사용하는 기능이 필요할 수도 있습니다. 특히 기사의 맨 처음에 표시된 것처럼 글을 쓰거나 코드를 작성하여 메뉴 버튼을 만들 수 있습니다. 덕분에 듀티 키를 누르거나 "보기" 탭을 통해 텍스트에 대한 많은 작업을 수행할 수 있습니다. "매크로" 아이콘.




맨 위