vba 自定义function返回值_用vba解决excel如何求前面连续为0的个数
領導布置了任務,要求每天統計當月的發展量,并且統計有多少業務員最多連續多少天發展為0的情況,統計的表格是這樣的。
用幾行簡單的VBA語言就能解決這個問題
首先打開vba編輯窗口,點擊開發工具——visual basic(如果沒有這個菜單,點擊文件——選項——自定義功能區——右邊窗口勾上開發工具)彈出編輯窗口,點擊左邊vbaproject下的模塊進入編輯界面
我們可以自定義一個函數count0,參數為需要統計的區域,思路為從統計的第一列起,依次統計相鄰為0的個數,一直統計到最后一列,取其中為0次數最多的為函數返回值,代碼如下:
Function count0(r As Range)
r1 = r.Rows.Count
If r1 > 1 Then
MsgBox ("該函數只能在一行中統計")
End If
Num = r.Columns.Count
Max = 0
max1 = 0
For i = 1 To Num
For k = i To Num
If r.Columns(k) = 0 Then '發現當前值為0,繼續看相鄰下一個
max1 = max1 + 1
Else
k = Num '當前不為0,結束
End If
Next k
If max1 > Max Then
Max = max1
End If
max1 = 0
Next i
count0 = Max
End Function
編寫好函數之后,保存文件,注意在保存文件中選擇excel啟用宏的工具簿,在O列輸入剛剛寫好的函數=count0(b2:l2),將公式復制到下面幾行,得出結果如下圖。
總結
以上是生活随笔為你收集整理的vba 自定义function返回值_用vba解决excel如何求前面连续为0的个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python except用法和作用_P
- 下一篇: smart原则_为什么现在少有人用德鲁克