久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當(dāng)前位置:首頁>職場>多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)

發(fā)布時(shí)間:2024-01-24閱讀(15)

導(dǎo)讀大家好,最近推出的內(nèi)容是"VBA信息獲取與處理"中的部分內(nèi)容,這套教程面向中高級(jí)人員,涉及范圍更廣,實(shí)用性更強(qiáng),現(xiàn)在的內(nèi)容是第四個(gè)專題"EXCEL工作表數(shù)據(jù)....

大家好,最近推出的內(nèi)容是"VBA信息獲取與處理"中的部分內(nèi)容,這套教程面向中高級(jí)人員,涉及范圍更廣,實(shí)用性更強(qiáng),現(xiàn)在的內(nèi)容是第四個(gè)專題"EXCEL工作表數(shù)據(jù)的讀取、回填和查找"的內(nèi)容。

第五節(jié) 如何在單個(gè)工作表中查找某個(gè)給定值

這個(gè)專題將的是工作表數(shù)據(jù)的操作,在前幾講中,我們講了工作表數(shù)據(jù)和VBA直接的傳輸,這講的內(nèi)容仍是和工作表相關(guān),就是如何在工作表中查找到某個(gè)值,在《VBA代碼解決方案》中,我也曾經(jīng)講到過FIND方法,甚至提出這是LOOKUP函數(shù)的終結(jié)者。那么如何利用FIND方法解決問題呢?

1 Find方法和FindNext方法

1) 我們先來看看FIND方法的語法和參數(shù):

語法:expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SerchFormat)

參數(shù)expression是必需的,該表達(dá)式返回一個(gè)Range對(duì)象。

參數(shù)What是必需的,要搜索的數(shù)據(jù),可為字符串或任意數(shù)據(jù)類型。

參數(shù)After是可選的,表示搜索過程將從其之后開始進(jìn)行的單元格,必須是區(qū)域中的單個(gè)單元格。查找時(shí)是從該單元格之后開始的,直到本方法繞回到指定的單元格時(shí),才對(duì)其進(jìn)行搜索。如果未指定本參數(shù),搜索將從區(qū)域的左上角單元格之后開始。

參數(shù)LookIn是可選的,信息類型。xlValues對(duì)應(yīng) 值;xlFormulas 對(duì)應(yīng) 公式;xlComments對(duì)應(yīng) 批注

參數(shù)LookAt是可選的,可為XlLookAt常量的xlWhole 或xlPart之一。

參數(shù)SearchOrder是可選的,可為XlSearchOrder常量的xlByRows或xlByColumns之一。

參數(shù)SearchDirection是可選的,搜索的方向,可為XlSearchDirection常量的xlNext或xlPrevious之一。

參數(shù)MatchCase是可選的,若為True,則進(jìn)行區(qū)分大小寫的查找。默認(rèn)值為False。

參數(shù)MatchByte是可選的,僅在選擇或安裝了雙字節(jié)語言支持時(shí)使用。若為True,則雙字節(jié)字符僅匹配雙字節(jié)字符。若為False,則雙字節(jié)字符可匹配其等價(jià)的單字節(jié)字符。

參數(shù)SerchFormat是可選的,搜索的格式。

需要注意的是:每次使用Find方法后,參數(shù)LookIn、LookAt、SearchOrder 和MatchByte的設(shè)置將保存。如果下次調(diào)用Find方法時(shí)不指定這些參數(shù)的值,就使用保存的值。因此每次使用該方法時(shí)請(qǐng)明確設(shè)置這些參數(shù)。

2) FindNext方法繼續(xù)執(zhí)行用Find方法啟動(dòng)的搜索。查找下一個(gè)匹配相同條件的單元格并返回代表單元格的Range對(duì)象

語法:expression.FindNext(After)

參數(shù)expression是必需的,返回一個(gè)Range對(duì)象。

參數(shù)After是可選的,指定一個(gè)單元格,查找將從該單元格之后開始。

2 利用Find方法在工作表中實(shí)現(xiàn)單值查找

為了實(shí)現(xiàn)在工作表中的單值查找,我們可以利用下面的代碼:

Sub MYNZI() 工作表唯一查詢

Dim FJX As Variant

Sheets("Sheet5").Select

Range("i2 : I3000").ClearContents

i = 2

Do While Cells(i, "h") <> ""

Cells(i, "h").Select

UU = Cells(i, "h")

Set FJX = Sheets("Sheet5").Columns("A").Find(UU, lookat:=xlWhole)

If Not FJX Is Nothing Then

Cells(i, "i") = Sheets("Sheet5").Cells(FJX.Row, 2).Value

End If

i = i 1

Loop

MsgBox ("OK")

End Sub

代碼截圖:

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(1)

代碼講解:上述代碼實(shí)現(xiàn)了在工作表A列中查找H列的唯一值的方案,首先我們清空了要回填的數(shù)據(jù)區(qū)域Range("i2 : I3000").ClearContents,然后利用:

Set FJX = Sheets("Sheet5").Columns("A").Find(UU, lookat:=xlWhole)

來實(shí)現(xiàn)我們的查找,lookat:=xlWhole 是完全匹配,當(dāng)然我們還可以利用其它參數(shù)來實(shí)現(xiàn)特定的匹配。

上面的這段代碼中我保留了工作表的名稱,這樣以后大家利用起來可以直接的拷貝代碼,進(jìn)行必要的修改即可。當(dāng)然,找到唯一的值后可以提取的數(shù)據(jù)可以根據(jù)實(shí)際情況需要做進(jìn)一步的改進(jìn)。

我們看看程序的運(yùn)行結(jié)果:

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(2)

3 利用FindNext方法在工作表中實(shí)現(xiàn)多值查找

為了實(shí)現(xiàn)在工作表中的多值查找我們可以使用FindNext方法,這個(gè)方法的好處就是可以查到多個(gè)值。在查找的過程中我們要設(shè)定起始位置,下面的代碼是比較經(jīng)典的代碼,大家可以利用

Sub MYNZJ() 工作表非唯一查詢

Dim bcontinue As Boolean

Dim mysearch As Range

Dim myfind As Range

Dim fristmyfind As String

Sheets("Sheet6").Select

Range("i2 : I3000").ClearContents

i = 2

Do While Cells(i, "h") <> ""

Cells(i, "h").Select

bcontinue = True

Set mysearch = Sheets("Sheet6").Range("A1 : A" & Sheets("Sheet6").Range("A1").End(xlDown).Row)

Set myfind = mysearch.Find(what:=Cells(i, "h"), lookat:=xlWhole)

If Not myfind Is Nothing Then fristmyfind = myfind.Address

Do Until myfind Is Nothing Or Not bcontinue

Cells(i, "i") = Cells(i, "i") & " " & Sheets("Sheet6").Cells(myfind.Row, 2)

Set myfind = mysearch.FindNext(myfind)

If myfind.Address = fristmyfind Then bcontinue = False

Loop

Set myfind = Nothing

i = i 1

Loop

Set mysearch = Nothing

MsgBox ("OK!")

End Sub

代碼截圖:

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(3)

代碼講解:

上述代碼實(shí)現(xiàn)了工作表A列中的多值查找,當(dāng)在A列中存在H列的值時(shí)返回?cái)?shù)值,注意這里的查找開始表示是fristmyfind = myfind.Address,一直循環(huán)到這個(gè)地址再次出現(xiàn)。

下面我們看看代碼的運(yùn)行結(jié)果:

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(4)

利用Find和FindNext方法從而實(shí)現(xiàn)了工作表中的單一值查詢和多值的查詢。

本節(jié)知識(shí)點(diǎn)回向:如何實(shí)現(xiàn)工作表中的單一值查詢?如何實(shí)現(xiàn)工作表中的多值查詢?

本專題參考程序文件:004工作表.XLSM

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(5)

VBA是利用Office實(shí)現(xiàn)自己小型辦公自動(dòng)化的有效手段,這是我對(duì)VBA的應(yīng)用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數(shù)據(jù)處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!學(xué)習(xí)VBA是個(gè)過程,也需要經(jīng)歷一種枯燥的感覺,如太白詩云:眾鳥高飛盡,孤云獨(dú)去閑。相看兩不厭,只有敬亭山。

"水善利萬物而不爭",綿綿密密,微則無聲,巨則洶涌。學(xué)習(xí)亦如此,知道什么是自己所需要的,不要蜷縮在一小塊自認(rèn)為天堂的世界里,待到暮年時(shí)再去做自欺欺人的言論。要努力提高自己,用一顆充滿生機(jī)的心靈,把握現(xiàn)在,這才是進(jìn)取。越是有意義的事情,困難會(huì)越多。愿力決定始終,智慧決定成敗。不管遇到什么,都是風(fēng)景。看淡紛爭,看輕得失。茶,滿也好,少也好,不要計(jì)較;濃也好,淡也好,其中自有值得品的味道。去感悟真實(shí)的時(shí)間,靜下心,多學(xué)習(xí),積累福報(bào)。而不是天天混日子,也不是天天熬日子。在后疫情更加嚴(yán)峻的存量殘殺世界中,為自己的生存進(jìn)行知識(shí)的儲(chǔ)備,特別是新知識(shí)的儲(chǔ)備。學(xué)習(xí)時(shí)微而無聲,利用時(shí)則巨則洶涌。

我記得20年前自己初學(xué)VBA時(shí),那時(shí)的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學(xué)習(xí)VBA的朋友重復(fù)我之前的經(jīng)歷,我根據(jù)自己多年VBA實(shí)際利用經(jīng)驗(yàn),推出了六部VBA專門教程。

第一套:VBA代碼解決方案 是VBA中各個(gè)知識(shí)點(diǎn)的講解,覆蓋絕大多數(shù)的VBA知識(shí)點(diǎn),初學(xué)必備;

第二套:VBA數(shù)據(jù)庫解決方案 數(shù)據(jù)庫是數(shù)據(jù)處理的專業(yè)利器,教程中詳細(xì)介紹了利用ADO連接ACCDB和EXCEL的方法和實(shí)例操作,適合中級(jí)人員的學(xué)習(xí)。

第三套:VBA數(shù)組與字典解決方案 數(shù)組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學(xué)習(xí),是初級(jí)及中級(jí)人員代碼精進(jìn)的手段。

第四套:VBA代碼解決方案之視頻 是專門面向初學(xué)者的視頻講解,可以快速入門,更快的掌握這門技能。

第五套:VBA中類的解讀和利用 這是一部高級(jí)教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細(xì)的學(xué)習(xí)可以促進(jìn)自己VBA理論的提高。

第六套教程:《VBA信息獲取與處理》是一部高級(jí)教程,涉及范圍更廣,實(shí)用性更強(qiáng),面向中高級(jí)人員。教程共二十個(gè)專題,包括:跨應(yīng)用程序信息獲得、隨機(jī)信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時(shí)操作,剪切板應(yīng)用、Split函數(shù)擴(kuò)展、工作表信息與其他應(yīng)用交互,F(xiàn)SO對(duì)象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。如需要可以可以WeChat: NZ9668

學(xué)習(xí)的過程也是修心的過程,修一個(gè)平靜的心。在代碼的世界中,心平靜了,心情好了,身體自然而然就好。心靜則正,內(nèi)心里沒有那么多邪知邪見,也就沒有那么多妄想。利人就是利己。這些教程也是為幫助大家起航,助上我自己之力,我的上述教程是我多的經(jīng)驗(yàn)的傳遞,大家可以根據(jù)以上資料1,3,2,6,5或者是4,3,2,6,5的順序逐漸深入的逐漸學(xué)習(xí)。

多個(gè)工作表如何找符合某條件的值(如何在單個(gè)工作表中查找某個(gè)給定值)(6)

每一分收獲都是成長的記錄,怎無憑,正是這種執(zhí)著,成就了朝霞的燦爛。最后將一闕詞送給致力于VBA學(xué)習(xí)的朋友,讓大家感受一下學(xué)習(xí)過程的枯燥與執(zhí)著:

浮云掠過,暗語無聲,

唯有清風(fēng),驚了夢(mèng)中啼鶯。

望星,疏移北斗,

奈將往事雁同行。

阡陌人,昏燈明暗,

忍顧長亭。

多少VBA人,

暗夜中,悄聲尋夢(mèng),盼卻天明。

怎無憑!

分享成果,隨喜正能量

歡迎分享轉(zhuǎn)載→http://m.avcorse.com/read-214039.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號(hào)-5 TXT地圖HTML地圖XML地圖