從未見過如此方便的Excel查找,讓VBA給你驚喜

excel使用技巧大全在平時的工作中我們時常用到查找的這個功能,在某一列中查找一些東西,如何查找下一個,在VBA裡面又該怎樣查找呢?

咱們先來看個實例:

從未見過如此方便的Excel查找,讓VBA給你驚喜

在上面的圖中,我們希望通過班級和點擊篩選來獲得你想要的內容。在篩選前忘了清理,所以當兩個班級被篩選時,三級記錄也在上面。

我們想篩選出一個班級的記錄,所以我們希望首先找到相應列中某個班級的單元格,這就要使用find,將該行復制到相應的位置,然後查找下一個。

代碼如下:

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的語法:

range(某區域).find(某值)

findnext的語法:

Range(某區域).FindNext(find的結果)

使用findnext要先使用find找到第一個結果,然後在用findnext找到下一個結果。

相關用法大家應該清楚了吧,那下面看道練習題:

從未見過如此方便的Excel查找,讓VBA給你驚喜

將特定的行進行批量刪除,如下圖:

excel使用技巧大全在平時的工作中我們時常用到查找的這個功能,在某一列中查找一些東西,如何查找下一個,在VBA裡面又該怎樣查找呢?

咱們先來看個實例:

從未見過如此方便的Excel查找,讓VBA給你驚喜

在上面的圖中,我們希望通過班級和點擊篩選來獲得你想要的內容。在篩選前忘了清理,所以當兩個班級被篩選時,三級記錄也在上面。

我們想篩選出一個班級的記錄,所以我們希望首先找到相應列中某個班級的單元格,這就要使用find,將該行復制到相應的位置,然後查找下一個。

代碼如下:

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的語法:

range(某區域).find(某值)

findnext的語法:

Range(某區域).FindNext(find的結果)

使用findnext要先使用find找到第一個結果,然後在用findnext找到下一個結果。

相關用法大家應該清楚了吧,那下面看道練習題:

從未見過如此方便的Excel查找,讓VBA給你驚喜

將特定的行進行批量刪除,如下圖:

從未見過如此方便的Excel查找,讓VBA給你驚喜

今天說到這先,大家一定要多動手哦,不然學不會的哦!

​更多Excel教程、職場攻略,請了解更多


分享到:


相關文章: