Function 加班數(Rng As Range, S1$) As Long
'↑加班數()自訂函數,Rng變數是儲存格變數,S1是字串變數,函數回傳值是長整數
Dim R&, S&, C%, V%, T$
'↑宣告變數:(R,S)是長整數變數,(C,V)是短整數變數,T是字串變數
If S1 = "" Then Exit Function
'↑如果S1這字串變數是空字元!,就結束自訂函數
For R = 1 To Rng.Rows.Count
'↑設順迴圈!R從1到 Rng變數的列數
If Rng(R, 1) <> S1 Then GoTo r01
'↑如果Rng變數裡的相對R迴圈列第1欄儲存格值不是 S1變數值
For C = 2 To Rng.Columns.Count
'↑設順迴圈!C從2到 Rng變數的欄數
T = Rng(R, C).Text
'↑令T這字串變數是 Rng變數裡的相對R迴圈列第C迴圈欄儲存格值
'.Text:傳回指定之物件的格式化文字
'https://learn.microsoft.com/zh-tw/office/vba/api/excel.range.text
V = InStr(T, "加")
'↑令V這短整數變數是 "加"字串在 T變數裡的字元位置
If V > 0 Then 加班數 = 加班數 + Val(Mid(T, V + 1))
'↑如果V變數 >0!就令 加班數()回傳:
'加班數()+ 增量值
'增量值:T變數取第(V變數+1)字開始的右側全部字元,再轉化為數字值
Next C
r01: Next R
End Function