수색…


비고

이 절에서는 vba의 개념과 개발자가이를 사용하려는 이유에 대한 개요를 제공합니다.

또한 vba 내의 큰 주제를 언급하고 관련 주제와 연결됩니다. vba의 설명서는 새로운 기능이므로 해당 관련 항목의 초기 버전을 만들어야 할 수도 있습니다.

버전

번역 Office 버전 출시일 메모 출시일
Vba6 ? - 2007 [언젠가 후에] [1] 1992-06-30
Vba7 2010 - 2016 [blog.techkit.com] [2] 2010-04-15
Mac 용 VBA 2004 년, 2011 년 - 2016 년 2004-05-11

Microsoft Office에서 Visual Basic Editor에 액세스

Alt + F11 을 누르거나 개발자 탭으로 이동하여 "Visual Basic"버튼을 클릭하면 Microsoft Office 응용 프로그램에서 VB 편집기를 열 수 있습니다. 리본에 개발 도구 탭이 표시되지 않으면이 탭이 활성화되어 있는지 확인하십시오.

기본적으로 개발자 탭은 비활성화되어 있습니다. 개발자 탭을 사용하려면 파일 -> 옵션으로 이동하고 왼쪽의 목록에서 리본 사용자 정의를 선택하십시오. 오른쪽의 "리본 메뉴 사용자 정의"트리보기에서 개발자 트리 항목을 찾고 개발자 확인란이 선택되어 있는지 확인하십시오. 확인을 클릭하여 옵션 대화 상자를 닫습니다.

파일 옵션 메뉴

이제 개발 도구 탭이 리본에 표시되어 "Visual Basic"을 클릭하여 Visual Basic Editor를 열 수 있습니다. 또는 "코드보기"를 클릭하여 현재 활성 요소의 코드 창 (예 : WorkSheet, Chart, Shape)을 직접 볼 수 있습니다.

개발자 탭

VBE

VBA를 사용하여 대화 형으로 (수동으로) 수행 할 수있는 거의 모든 작업을 자동화하고 Microsoft Office에서 사용할 수없는 기능을 제공 할 수 있습니다. VBA는 사람의 개입없이 문서를 만들고, 텍스트를 추가하고, 서식을 지정하고, 편집하고, 저장할 수 있습니다.

첫 번째 모듈과 Hello World

먼저 코딩을 시작하려면 왼쪽 목록에서 VBA 프로젝트를 마우스 오른쪽 단추로 클릭하고 새 모듈을 추가해야합니다. 첫 번째 Hello World 코드는 다음과 같습니다.

Sub HelloWorld()
    MsgBox "Hello, World!"
End Sub

테스트하려면 도구 모음의 재생 버튼을 누르거나 F5 키를 누르십시오. 축하해! 처음으로 VBA 모듈을 만들었습니다.

디버깅

디버깅은 더 정밀하게 작동하는 (또는 작동하지 않는) 코드를 자세히보고 수정하는 매우 강력한 방법입니다.

단계별 코드 실행

디버깅 중 가장 먼저해야 할 일은 코드를 특정 위치에서 중지 한 다음 한 줄씩 실행하여 예상대로 발생하는지 확인하는 것입니다.

  • 중단 점 ( F9 , 디버그 - 중단 점 토글) : 실행 된 행에 중단 점을 추가 할 수 있습니다 (예 : 선언이 아닌 경우). 실행이 중지 된 지점에 도달하면 사용자에게 제어권을 제공합니다.
  • 빈 줄에 Stop 키워드를 추가하여 런타임에 해당 위치에서 코드를 중지 할 수도 있습니다. 예를 들어, F9 로 중단 점을 추가 할 수없는 선언 행
  • Step into ( F8 , Debug - Step into) : 한 줄의 코드 만 실행합니다. 사용자 정의 하위 / 함수 호출 인 경우 한 줄씩 실행됩니다.
  • 스텝 오버 ( Shift + F8 , 디버그 - 스텝 오버) : 코드 한 줄을 실행하고, 사용자가 정의한 서브 / 함수를 입력하지 않습니다.
  • 스텝 아웃 ( Ctrl + Shift + F8 , 디버그 - 스텝 아웃) : 현재 서브 / 함수를 종료합니다 (코드가 끝날 때까지 실행).
  • 커서로 실행 ( Ctrl + F8 , 디버그 - 커서로 실행) : 커서로 라인에 도달 할 때까지 코드를 실행합니다.
  • Debug.Print 를 사용하면 런타임에 직접 실행 창에 줄을 인쇄 할 수 있습니다. Debug.? 를 사용할 수도 있습니다 Debug.? Debug.Print 대한 바로 가기로

시계 창

줄 단위로 코드를 실행하는 것은 첫 번째 단계 일 뿐이며 자세한 내용을 알아야하며 그 중 하나의 도구는보기 창 (보기 - 조사 식 창)입니다. 여기서 정의 된 식의 값을 볼 수 있습니다. 조사 식 창에 변수를 추가하려면 다음 중 하나를 수행하십시오.

  • 마우스 오른쪽 버튼으로 클릭 한 다음 "시계 추가"를 선택하십시오.
  • 조사 식 창에서 마우스 오른쪽 버튼을 클릭하고 '시계 추가'를 선택하십시오.
  • 디버그 - 시계 추가로 이동하십시오.

새 표현식을 추가 할 때 값을 보려는 것인지 아니면 값이 변경 될 때 코드 실행을 중단 할 것인지 선택할 수 있습니다.

직접 실행 창

직접 실행 창을 사용하면 Print 키워드 또는 단일 물음표 " ? "를 사용하여 임의의 코드를 실행하거나 항목을 인쇄 할 수 있습니다.

몇 가지 예 :

  • ? ActiveSheet.Name - 활성 시트의 이름을 반환합니다.
  • Print ActiveSheet.Name - 활성 시트의 이름을 반환합니다.
  • ? foo -의 값을 반환 foo *
  • x = 10 x 를 10 *

* 직접 실행 창을 통해 변수 값 받기 / 설정은 런타임 중에 만 수행 할 수 있습니다.

모범 사례 디버깅

코드가 예상대로 작동하지 않을 때마다 먼저 실수로 실수를 찾아 다시 읽어야합니다.

도움이되지 않으면 디버깅을 시작하십시오. 짧은 프로 시저의 경우 줄 단위로 실행하는 것이 효과적 일 수 있습니다. 긴 줄의 경우 중단 점을 설정하거나 감시 식을 중단해야 할 수도 있습니다. 목표는 예상대로 작동하지 않는 줄을 찾는 것입니다.

잘못된 결과를주는 행이 있지만 그 이유가 아직 명확하지 않은 경우 표현식을 단순화하거나 변수를 상수로 바꾸면 변수의 값이 잘못되었는지 이해하는 데 도움이됩니다.

그래도 문제를 해결할 수 없으면 도움을 요청하십시오.

  • 문제를 이해하기 위해 코드의 가능한 한 작은 부분을 포함 시키십시오.
  • 문제가 변수 값과 관련이 없으면 상수로 바꿉니다. (따라서 Sheets(a*b*c+d^2).Range(addressOfRange) 대신. 범위 Sheets(a*b*c+d^2).Range(addressOfRange) 쓰기 Sheets(4).Range("A2") )
  • 어떤 행이 잘못된 행동을하는지, 그리고 그것이 무엇인지 (오류, 잘못된 결과 등) 설명하십시오.


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow