Trong bài viết này, chúng tôi sẽ tạo một hàm tùy chỉnh để tạo tổng số cho phạm vi động.

Dữ liệu thô cho bài viết này bao gồm các số ngẫu nhiên.

ArrowMain

Trong ví dụ này, chúng tôi muốn tính tổng các giá trị trong tất cả các ô trong mỗi cột. Mỗi cột có số lượng giá trị khác nhau.

Chúng tôi đã tạo một hàm tùy chỉnh ‘DynaSum’ để tính tổng các giá trị trong tất cả các ô.

ArrowOutput

Hàm tùy chỉnh ‘DynaSum’ tính tổng giá trị của tất cả các ô liên tiếp. Hàm này sẽ tính tổng tất cả các giá trị cho đến khi gặp ô trống.

Nếu chúng tôi thêm bất kỳ giá trị bổ sung nào bên trên các giá trị đã xác định, thì các giá trị đó sẽ được thêm tự động.

ArrowSecondOutput

Giải thích mã

Đặt Rng = Application.Caller Đoạn mã trên được sử dụng để gán ô chứa hàm tùy chỉnh làm đối tượng Range.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]