이 기사에서는 동적 범위에 대한 합계를 생성하는 사용자 지정 함수를 만듭니다.

이 기사의 원시 데이터는 난수로 구성됩니다.

ArrowMain

이 예에서는 각 열에있는 모든 셀의 값 합계를 계산하려고합니다. 각 열에는 서로 다른 수의 값이 있습니다.

모든 셀의 값 합계를 계산하는 사용자 지정 함수 ‘DynaSum’을 만들었습니다.

ArrowOutput

사용자 정의 함수 ‘DynaSum’은 모든 연속 셀 값의 합계를 계산합니다. 이 함수는 빈 셀이 나타날 때까지 모든 값을 합산합니다.

정의 된 값 위에 추가 값을 추가하면 해당 값이 자동으로 추가됩니다.

ArrowSecondOutput

코드 설명

Set Rng = Application.Caller 위 코드는 사용자 정의 함수가 포함 된 셀을 Range 개체로 할당하는 데 사용됩니다.

아래 코드를 따르세요

Option Explicit

Function DynaSum(Optional Rng As Range)

'Declaring variables

Dim Total As Double

Dim LngRow As Long

Dim LngCol As Integer

'Refresh function when value in worksheet is changed

Application.Volatile

'Assigning range if Range is not specified in the function

If Rng Is Nothing Then

Set Rng = Application.Caller

End If

'Getting the column and row number

LngCol = Rng.Column

LngRow = Rng.Row - 1

'Looping through all the cells in the column until blank cell is encountered

Do Until IsEmpty(Cells(LngRow, LngCol))

Total = Total + Cells(LngRow, LngCol)

LngRow = LngRow - 1

If LngRow = 1 Then Exit Do

Loop

'Getting output

DynaSum = Total

End Function

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요