Excel vba 實例(10)- 統(tǒng)計同一列中出現(xiàn)次數(shù)并標注

后臺有伙伴留言幫忙解決一個excel問題,情況是這樣的,如下圖:

一列中只有「是」「否」的兩種情況,分別統(tǒng)計這一列「是」和「否」出現(xiàn)的次數(shù),要求是出現(xiàn)了不同的的重新統(tǒng)計。

問題不復雜,VBA能很快解決問題。直接上代碼:

Sub?count()
????Dim?Rng?As?Range
????Dim?i&,?Col&,?Fist,?Last
????Dim?count
????Set?Rng?=?Application.InputBox("請選擇單列數(shù)據(jù)列!",?Type:=8)
????'用戶選擇數(shù)據(jù)列
????Set?Rng?=?Intersect(Rng.Parent.UsedRange,?Rng)
????'intersect語句避免用戶選擇整列造成無謂運算
????Col?=?Rng.Column?'Rng所在列
????Fist?=?Rng.Row
????'Rng開始行,用戶選擇的區(qū)域并不是一定從第一行開始,因此需要此句判斷
????Last?=?Fist?+?Rng.Rows.count?-?1?'Rng結束行
????Application.ScreenUpdating?=?False?'取消屏幕更新
????Application.DisplayAlerts?=?False
????'取消消息提醒。當有值單元格被合并時屏蔽提示信息
????Rng.Parent.Select?'激活Rng對象所在的工作表,避免跨工作表操作問題
????count?=?1
????For?i?=?Last?To?Fist?+?1?Step?-1
????'對Rng進行從后向前遍歷
????????If?Cells(i,?Col)?<>?Cells(i?-?1,?Col)?Then
????????????Cells(i,?Col?+?1)?=?count
????????????count?=?1
????????ElseIf?Cells(i,?Col)?=?Cells(i?-?1,?Col)?Then
????????????count?=?count?+?1
????????End?If
????Next

End?Sub

演示效果圖

把需要統(tǒng)計的數(shù)據(jù)粘貼進去即可,或者直接把上面的代碼復制運行也行。

需要注意的是,第一行為標題行,不要粘貼數(shù)據(jù)。代碼是從第二行開始統(tǒng)計。

同樣的,永恒君直接把上面實例VBA的文件分享出來,需要的就直接使用吧。

后臺回復統(tǒng)計即可。


不少人對VBA代碼有抵觸心理,其實沒有那么復雜,把他看成一個稍微復雜點的函數(shù)即可。

當然如果并不打算深入學習VBA,只是臨時使用下,那只要會復制黏貼就好了!

至于怎么用VBA代碼,可以參考之前的文章:

Excel vba 實例(1) - 批量制作工資表頭

Excel vba 實例(2) - 批量將工作表拆分為單獨文件

Excel vba 實例(3) -?多個工作簿批量合并

Excel vba 實例(4) - 根據(jù)已有名稱,批量新建表格

Excel vba 實例(5) - 快速合并n多個相同值的單元格

Excel vba 實例(6) - 一鍵匯總多個sheet數(shù)據(jù)到總表

Excel vba 實例(7)-一鍵批量打印工作簿

Excel vba 實例(8)- 利用正則表達式進行定向提取

Excel vba 實例(9)- 批量插入、刪除表格中的空行


Excel VBA功能很強大,但是要熟練的運用起來還是有一定的難度,好在永恒君幫大家搜集了幾套關于VBA的視頻教程,非常的實用。

需要的話,wx公號后臺回復“VBA”獲取吧~~



歡迎交流!

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容