在工作表中我們經(jīng)常用查找功能,,在一列中查找某個(gè)內(nèi)容,查找下一個(gè),,那在VBA中我們?cè)撊绾芜M(jìn)行查找呢,? 我們看個(gè)實(shí)例: 上圖中我們希望通過(guò)輸入班級(jí),點(diǎn)擊篩選就能出來(lái)想要的內(nèi)容,,這里我忘了在篩選之前先做個(gè)清除,,所以篩選二班記錄時(shí),,三班的記錄沒(méi)有清除,。 我們要把某個(gè)班級(jí)的記錄篩選出來(lái),那么就希望首先在對(duì)應(yīng)的列里找到某個(gè)班級(jí)所在的單元格,,這里就用到了find,,找到后就把該行復(fù)制到對(duì)應(yīng)位置,然后進(jìn)行查找下一個(gè),。 上圖中代碼如下: Sub 篩選() Dim rng1, rng2, rng3 As Range, addr$, adr$ Set rng1 = Range('a:a').Find(Range('e6').Value) addr = rng1.Address Do Set rng1 = Range('a:a').FindNext(rng1) adr = rng1.Address Set rng2 = Cells(Rows.Count, 'e').End(xlUp)(2, 1) Set rng3 = rng1.EntireRow.Range('a1:c1') rng3.Copy rng2 Loop Until addr = rng1.Address End Sub find的語(yǔ)法: range(某區(qū)域).find(某值) findnext的語(yǔ)法: Range(某區(qū)域).FindNext(find的結(jié)果) 使用findnext要先使用find找到第一個(gè)結(jié)果,,然后在用findnext找到下一個(gè)結(jié)果,。 基本用法清楚以后,給大家留到練習(xí)題: 批量刪除特定的行,,效果做成如下: 今天的分享就到這里,,VBA不動(dòng)手是學(xué)不會(huì)的,所以一定要?jiǎng)邮謱?xiě),。 視頻教程正在陸續(xù)錄制中(目前錄制了44節(jié)了),,需要的同學(xué)可以加我微信號(hào):527240310,50元,,一次付費(fèi)后,,以后所錄視頻均可以免費(fèi)索取,而且不懂的地方可以交流,。非誠(chéng)勿擾,,謝謝配合! |
|