콘텐츠
Visual Basic for Applications (VBA)는 다른 Visual Basic 버전 및 대부분의 프로그래밍 언어와 마찬가지로 코드를 작고 독립적 인 부분으로 분할 할 수있는 가능성을 제공합니다. 이렇게하면 작은 드라이브의 개별 특성으로 인해 프로그램 읽기, 쓰기 및 테스트가 덜 복잡해집니다. 또한 재사용이 가능하므로 프로그램이 작업을 수행 할 때마다 동일한 코드 스 니펫을 작성하는 대신 프로그래머는 함수를 여러 번 호출 할 수 있습니다. 이것은 VBA 및 Visual Basic을 구조화 된 프로그래밍 언어로 만드는 기능 중 하나 일뿐입니다.
코드를 다음과 같이 나누는 것이 좋습니다. (Stockbyte / Stockbyte / 게티 이미지)
함수 대 서브 루틴
대부분의 언어에서 코드 조각을 함수라고합니다. VBA에서는 함수와 서브 루틴의 두 가지 유형으로 나뉩니다. 두 유형 모두 비슷한 방식으로 나타나지만 작동하지만 주목할만한 두 가지 차이점이 있습니다. 먼저, 함수는 코드 정의에서 "Function"으로 선언되고 "End Function"로 끝납니다. 서브 루틴은 "Sub"로 선언되고 "End Sub"로 끝납니다. 둘째, 함수는 값을 반환하지만 서브 루틴은 값을 반환하지 않습니다. Excel VBA에서 값을 반환하려면 함수를 사용해야합니다.
언제 값을 반환해야합니까?
잘 작성된 프로그램은 함수와 서브 루틴을 사용하여 데이터를 캡슐화하고 코드의 다른 부분에서 변경 한 내용을 보호합니다. 이것은 이해의 촉진과 함께 리턴하지 않는 서브 루틴에 대해 값을 리턴하는 함수를 사용하는 주된 이유입니다. 함수 또는 서브 루틴 내의 변수는 나머지 코드에서 볼 수 없으므로 프로그램의 다른 부분에서 코드의 결과를 사용하려면 함수가 호출자에게 값을 반환해야합니다. 서브 루틴에서 동일하게 수행하는 유일한 방법은 캡슐화 원칙을 무시하고 전체 프로그램에 대해 변수를 공용으로 선언하는 것입니다.
예제
value를 반환하는 예제 함수는 두 개의 숫자를 더하고 합계의 결과를 반환하는 함수입니다. 함수 MySum (A는 정수, B는 정수) MySum = A + B End Function "MySum = A + B"문은 결과를 계산할뿐만 아니라 같은 함수 이름의 변수에 값을 넣습니다. 이것은 반환 값이됩니다. 이 예제에서이 함수를 호출하는 것은 "Answer = MySum (2.2)"처럼 간단하며 Response 변수는 값 4를받습니다. 함수는 필요한만큼 여러 번 호출 될 수 있습니다.
Excel VBA에서 값 반환
Excel에는 다양한 수학 함수와 재무 함수가 있지만 유연성과 성능을 향상시키기 위해 고유 한 방법을 작성해야 할 수 있습니다. 함수 자체를 작성하면 데이터 입력을 위해 단순화 된 객체로 양식을 작성할 수 있습니다. 값을 반환하고 매크로에 삽입하는 함수를 작성할 수 있습니다.
이런 식으로 C #과 같은 프로그래밍 언어로 처음부터 프로그램을 만들 필요없이 복잡하고 강력한 응용 프로그램을 설계 할 수 있습니다. 이렇게하면 네이티브 Excel 함수의 기능과 폼에 값을 반환하는 사용자 지정 함수를 제어 할 수있는 옵션이 제공됩니다.