Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA Application.Evaluate 사용해서 수식 계산하기

엑셀(Excel)/VBA
반응형

Evaluate 함수는 텍스트로 되어 있는 수식을 실행 시켜 주는 함수 입니다. 이 함수는 엑셀 시트에서 수행할 수 있는 식을 텍스트로 넘겨서 사용합니다. 활용 빈도가 높은 함수이므로 외워 두는 것이 좋습니다. 또한 시트에 텍스트로 식이 들어가 있다면 가져와서 바로 실행할 수도 있습니다.

 

 

아래 샘플에서 수행하려는 작업은 최종점수란에 있는 값들을 전부 합치는데 VBA 에서 SUM 함수를 이용하는 것입니다. 그리고 바로 옆에 합치는 수식의 텍스트를 가져가서 수행합니다.

엑셀 VBA Application.Evaluate 사용해서 수식 계산하기

 

먼저 C13 에 있는 합계 수식 텍스트를 가져가서 Evaluate 함수를 수행합니다. 그럼 시트에서 수행한 것과 같은 결과를 얻을 수 있습니다. 또는 Evaluate 인수로 직접 수식을 텍스트로 만들어서 입력해도 됩니다. 이렇게 VBA 의 함수나 로직에 익숙하지 않으신 분들은 Evaluate 로 엑셀 시트에서 주로 사용하는 수식을 텍스트로 만들어 적용하시면 좀더 편하게 작업을 하실 수 있을 겁니다.

 

 

Sub 수식실행() 
    Dim cal1, cal2 As String
   
    cal1 = Application.Evaluate(Range("C13").Value)
    Range("D13").Value = cal1
   
    cal2 = Application.Evaluate("SUM(D2:D12)")
    Range("D14").Value
 
End Sub

 

 

 

위에서 만든 함수를 수행한 결과 입니다. 엑셀 시트에 수식 텍스트를 가져와서 수행한 결과나 VBA 에서 텍스트로 만들어서 실행한 결과가 같죠.

엑셀 VBA Application.Evaluate 사용해서 수식 계산하기

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA Application.Version 개체로 엑셀 버전과 사용언어 아보기
엑셀 VBA 상태바 STATUSBAR 정보 출력하는 방법
엑셀 VBA Application.Volatile 함수로 사용자정의함수 재구동
엑셀 VBA Application.GoTo 함수로 시트에 커서 강제 이동시키기
셀 VBA 개발을 위한 개발 도구 추가하는 방법
반응형
Posted by 녹두장군1
,