엑셀을 사용하면서 수식을 직접 입력하여 값을 계산하는 경우가 많습니다. 이럴 경우 셀에 직접 수식을 입력하여 계산할 수 있지만 VBA를 이용하여 수식을 입력하고 계산을 할 수도 있습니다. 이번에는 VBA를 이용하여 수식을 입력하는 방법을 알아보겠습니다.
1. Formula
VBA에서 수식을 입력할 때는 Formula 속성을 이용합니다.
입력하려는 수식은 큰따옴표(" ") 안에 입력하여 등호를 이용하여 작성합니다.
가령 임의의 셀 주소에 수식을 입력하려고 할 때 다음과 같이 작성합니다.
Range("셀 주소").Formula = "=수식"
2. 예제를 통해 Formula 속성 확인
엑셀을 여시고 엑셀 시트에 다음과 [그림 1]과 같이 입력합니다.
그리고, 엑셀 메뉴에서 개발 도구-삽입-ActiveX 컨트롤-명령 단추를 클릭하여 버튼을 하나 만듭니다.
만든 버튼의 속성 Caption에 '계산'으로 입력합니다. 그러면 버튼 위의 글씨가 '계산'으로 변경됩니다.
이제 엑셀 메뉴에서 개발 도구-디자인 모드를 클릭하여 해제합니다.
ActiveX 컨트롤 사용하는 방법에 대해서는 아래 링크된 이전 글을 참조하시기 바랍니다.
VBA 개발 도구의 ActiveX 컨트롤을 사용하여 프로그래밍 하기 I
VBA 개발도구의 ActiveX 컨트롤을 사용하여 프로그래밍 하기 II
만든 버튼을 마우스로 더블클릭하여 VBE창을 엽니다.
열린 창은 버튼이 눌렸을 때 실행할 코드를 작성하는 창입니다.
열린 코드 창에 다음과 같이 작성합니다.
Private Sub CommandButton1_Click()
Range("D3").Formula = "=(C3 - B3) / B3"
Range("D4").Formula = "=(C4 - B4) / B4"
Range("D5").Formula = "=(C5 - B5) / B5"
Range("E4").Formula = "= STDEV(D3:D5)"
End Sub
입력한 기준값과 측정값의 오차를 계산하는 식을 D3 ~ D5 셀까지 입력하고 E4 셀에는 표준편차를 구하는 식을 입력하는 내용입니다.
이제 엑셀 시트의 계산 버튼을 클릭하시면 오차와 표준편차가 계산되는 것을 보실 수 있습니다.
백분율 표시는 D3:D5 셀 범위 선택을 하시고 엑셀 메뉴에서 홈-표시 형식-백분율 스타일을 클릭하시면 됩니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA 엑셀 개체 다루기 - Range (0) | 2021.10.18 |
---|---|
VBA WorksheetFunction 사용 (0) | 2021.10.13 |
VBA 내장 함수 - Join 함수 (0) | 2021.10.12 |
VBA 내장 함수 - Split 함수 (0) | 2021.10.11 |
VBA 내장 함수 - Array 함수 (0) | 2021.10.09 |