各位好,今天開始講VBA代碼解決方案的二十九講:在EXCEL中,如何借助于代碼來快速完成刪除重復行的工作,其實在實際的工作中這個工作是經常用到的,excel中有沒有重復的數(shù)據(jù),是EXCEL數(shù)據(jù)統(tǒng)計中非常重要的工作的工作之一,也是經常要處理的工作之一。如果掌握了這個技巧,無形中會提高自己的工作效率,而且還可以提高工作的準確性。
實例:在實際應用中,可能需要刪除工作表中A列的重復內容而只保留一行,如何來解決這個問題呢?可以借助工作表CountIf函數(shù)來完成.我們先來講解一下Countif函數(shù).
Countif函數(shù): 是Microsoft Excel中對指定區(qū)域中符合指定條件的單元格計數(shù)的一個函數(shù),在WPS,Excel2003和Excel2007等版本中均可使用。
語法規(guī)則如下:countif(range,criteria) 參數(shù):a) range 要計算其中非空單元格數(shù)目的區(qū)域,b) criteria 以數(shù)字、表達式或文本形式定義的條件
在講解完這個函數(shù)后,我們來看代碼:
代碼解析:MyDeleteRow過程刪除工作表A列重復單元格所在的整行內容,只保留一行。
a) 第5行代碼取得工作表中A列的最后一個非空單元格的行號,要注意Range對象的End屬性。不知讀者是否已經掌握。
b) 第6行到第10行代碼從最大行數(shù)至最小行數(shù)循環(huán)判斷A列單元格內容是否重復并刪除重復單元格所在的整行。此處For...Next循環(huán)也要從最大行數(shù)至最小行數(shù)開始循環(huán)判斷,否則可能會刪除不凈。
c) 其中第7、8行代碼使用工作表CountIf函數(shù)判斷單元格內容是否重復,如果重復則刪除該單元格所在的行。
運行MyDeleteRow過程工作表區(qū)域下截圖:
代碼截圖:
運行后的截圖:
運行的結果后,可以看到和預想的一樣。
今日內容回向:
1 刪除工作表中重復數(shù)據(jù)的思路是什么?
2 COUNTIF 的意義是什么?
3 上面代碼中.Columns(1)的意義是什么?
分享成果,隨喜正能量
聯(lián)系客服