VBA(Visual Basic for Applications)에서 모듈을 사용하는 이유는 코드의 구성과 재사용성을 향상시키기 위해서입니다.
모듈은 VBA 코드를 담는 컨테이너로서, 하나의 모듈에는 하나 이상의 프로시저 (서브루틴 또는 함수)가 포함될 수 있습니다.
1. 코드의 구성: 모듈을 사용하여 코드를 논리적으로 구성할 수 있습니다. 코드를 관련 기능에 따라 모듈로 분리하면
코드가 더 읽기 쉽고 유지 보수하기도 쉬워집니다. 각 모듈은 특정 작업 또는 특정 부분에 집중된 코드를 담게 됩니다.
2. 재사용성: 모듈을 사용하여 코드를 여러 프로시저에서 재사용할 수 있습니다. 일반적으로 사용되는 기능이나 서브루틴은 모듈에 작성하여 필요할 때마다 호출하고 재사용할 수 있습니다. 이렇게 함으로써 코드 중복을 피하고 효율적인 코드를 작성할 수 있습니다.
3. 변수의 스코프 관리: 모듈을 사용하면 변수의 스코프를 제어할 수 있습니다. 모듈 내에서 선언된 변수는 해당 모듈 전체에서 접근 가능하며, 모듈 밖에서는 직접 접근할 수 없습니다. 이를 통해 변수 충돌과 관련된 문제를 방지하고 코드를 더 안전하게 작성할 수 있습니다.
4. 단위 테스트: 모듈을 사용하면 단위 테스트가 용이해집니다. 개별 모듈 단위로 테스트할 수 있으므로 모듈 간의 상호작용에 따른 오류를 빨리 발견하고 수정할 수 있습니다.
5. 코드 은닉성: 비공개(Private) 프로시저를 사용하여 모듈 내부에서만 호출되도록 할 수 있습니다. 이렇게 하면 모듈의 내부 구현이 외부에 노출되지 않으므로 보안성이 높아집니다.
모듈은 VBA 프로젝트의 기본 구성 요소이며, VBA 코드를 잘 구성하고 효율적으로 작성하기 위해 꼭 활용해야 하는 중요한 요소입니다.
모듈을 작성 한후 호출 하는 방법 예제
ko01 모듈
' 모듈(Module1)에 함수 추가
Function AddNumbers(num1 As Double, num2 As Double) As Double
AddNumbers = num1 + num2
End Function
sheet 9 코드
Sub CallModuleFunctionFromSheet()
Dim firstNumber As Double
Dim secondNumber As Double
Dim result As Double
' 사용자로부터 두 개의 숫자 입력 받기
firstNumber = InputBox("첫 번째 숫자를 입력하세요:", "숫자 입력")
secondNumber = InputBox("두 번째 숫자를 입력하세요:", "숫자 입력")
' 모듈(Module1)에 정의된 AddNumbers 함수 호출하여 두 숫자를 더하기
result = ko01.AddNumbers(firstNumber, secondNumber)
' 결과 출력
MsgBox "두 숫자의 합: " & result
End Sub
모듈 호출 방법
' 모듈(Module1)에 정의된 AddNumbers 함수 호출하여 두 숫자를 더하기
result = ko01.AddNumbers(firstNumber, secondNumber)
'VBA For Creo' 카테고리의 다른 글
모델이 가지고 있는 치수 이름, 값, 타입 표시 (0) | 2023.08.04 |
---|---|
주 관성 모멘트(CenterGravityInertiaTensor의 고유값) (0) | 2023.08.03 |
유용한 사이트 (0) | 2023.05.21 |
To : Jonny Stocco (0) | 2023.03.15 |
ChatGPT - CREO UDF 파일 불러오기 (0) | 2023.02.21 |