전 국민 코딩 시대 엑셀 VBA 기초 10- 엑셀 함수를 VBA에서 사용하기(WorksheetFunction)

Описание к видео 전 국민 코딩 시대 엑셀 VBA 기초 10- 엑셀 함수를 VBA에서 사용하기(WorksheetFunction)

당연히 VBA에서도 엑셀 함수를 지원하므로 엑셀의 함수를 Call 하여 사용하면 되겠습니다.

1. WorksheetFunction 개체
VBA와 엑셀은 MS 제품이기 때문에 상호 호환성이 좋기 때문에, 엑셀에서 사용 함수를 VBA에서도 사용 가능하지만, VBA에서 일부 엑셀 함수를 하기 위해서는 "WorksheetFunction"개체와 같이 사용해야 합니다.

"WorksheetFunction"은 VBA의 내장 함수를 호출하는 개체로, 엑셀에서 사용하는 여러 가지 함수를 VBA에서 호출하여 사용할 수 있으며, 사용 가능한 메서드 리스트는 "WorksheetFunction."까지 입력하면 자동으로 보이는 메서 리스트에는 " Sum, Average, Count, Max, Min, Fixed, Round, Floor, Ceiling"등의 엑셀 함수가 포함되어 있습니다.

2. VBA 엑셀 함수 적용
인원수와 기본급에 대한 "기본급 계", "기본급 평균", "기본급 최대값", "기본급 최소값"을 로직을 사용해서 일일이 계산하는 것이 아니라

"WorksheetFunction"을 사용하여 엑셀 함수로 간단하게 해결합니다.
Sub ExcelFunction_Test()
' ExcelFunction VBA에 사용
' 변수와 Object 선언
Dim This_Sheet As Worksheet
' This_Sheet Sheet1 설정
Set This_Sheet = Sheet1

' 1. Count()
Range("B8") = WorksheetFunction.Count(Range("B2:B6"))
' 2. Sum
Range("J8") = WorksheetFunction.Sum(Range("J2:J6"))
' 3. Average
Range("J9") = WorksheetFunction.Average(Range("J2:J6"))
' 4. Max()
Range("B9") = WorksheetFunction.Max(Range("J2:J6"))
' 5. Min()
Range("D9") = WorksheetFunction.Min(Range("J2:J6"))

End Sub

3. Range 변수 선언
앞에서 사용한 VBA 코드에서 "기본급"에 해당하는 범위의 지정이 인원수를 카운드하는것을 제외하고 모두 (Range("J2:J6") 동일하게 하고 있습니다.

이럴 경우 "Dim Range_Cnt1, Range_Cnt2 As Range"와 같이 Range 변수로 선언 후 각 범위 변수에 범위를 지정 후,
Dim Range_Cnt1, Range_Cnt2 As Range
' This_Sheet Sheet1 설정
Set This_Sheet = Sheet1
Set Range_Cnt1 = Range("J2:J6")
Set Range_Cnt2 = Range("B2:B6")
아래와 같이 사용할 수 있습니다.
Range("B8").Value = WorksheetFunction.Count(Range_Cnt2)
' 2. Sum
Range("J8").Value = WorksheetFunction.Sum(Range_Cnt1)
' 3. Average
Range("J9").Value = WorksheetFunction.Average(Range_Cnt1)
' 4. Max()
Range("B9").Value = WorksheetFunction.Max(Range_Cnt1)
' 5. Min()
Range("D9").Value = WorksheetFunction.Min(Range_Cnt1)

이상 "전 국민 코딩 시대 엑셀 VBA 기초 10 - 엑셀 함수를 VBA에서 사용하기(WorksheetFunction)"에 대해 알아보았습니다.
==============
참고 : 네이버 블로그 -

전 국민 코딩 시대 엑셀 VBA 기초 10 - 엑셀 함수를 VBA에서 사용하기(WorksheetFunction)
https://blog.naver.com/jxbjultd/22344...

Комментарии

Информация по комментариям в разработке