小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

文科生自學(xué)VBA-循環(huán)類型總結(jié)和VBA中的VLookup

 網(wǎng)摘文苑 2021-09-19

--人生不是賽場,夢想不容退場,學(xué)習(xí)編程成就更好的自己--

微軟公司Office軟件在商業(yè)辦公領(lǐng)域一直占據(jù)著主流和主導(dǎo)地位,其中Excel在數(shù)據(jù)處理和分析領(lǐng)域有著強大的影響力,大部分人在經(jīng)歷幾年職場歷練后可以熟練的使用Excel函數(shù)透視表功能,基本可以輕松完成絕大多數(shù)工作和任務(wù)。但實際上Office的強大和獨特之處還在于VBA,因為VBA能夠勝任好多個性化二次開發(fā),減少重復(fù)機械勞動從而實現(xiàn)辦公自動化,開發(fā)效率高且開發(fā)周期短,尤其對于Excel重度使用者來說會了VBA簡直就是如虎添翼?。。。?/span>

今天主要介紹兩個VBA基礎(chǔ)知識點:主要循環(huán)類型總結(jié)VBA使用VLookup函數(shù)。循環(huán)遍歷是編程思維的核心,VBA世界里有幾種循環(huán)遍歷類型,主要包括了For Next, Do While/Until和For Each Next,每個方式都有自己的語法特點和使用規(guī)則,大家根據(jù)實際情況進行合理選擇;在Excel世界里VLookup函數(shù)占據(jù)著非常重要的地位,能夠解決多表不同字段關(guān)聯(lián)匹配的問題,幾乎是Excel高手必須掌握的技能,如何在VBA里調(diào)用VLookup函數(shù)會在后半部分提及,下面開始正文。

首先看下面兩個Sheet表數(shù)據(jù)情況:

DATA表如下:

文章圖片1

INFO表如下:

文章圖片2

循環(huán)總結(jié)部分:

根據(jù)INFO表中年齡界定范圍來逐一判斷DATA中每個人的人生階段情況

第一種循環(huán)總結(jié)-For Next

文章圖片3

第二種循環(huán)總結(jié)-Do While Loop

文章圖片4

第三種循環(huán)總結(jié)-Do Until Loop

文章圖片5

第四種循環(huán)總結(jié)-For Each Next

文章圖片6

在VBA中調(diào)用VLookup:

根據(jù)INFO表中ID愛好情況來逐一匹配DATA中每個人的愛好情況

關(guān)鍵點一定使用Application.VLookup才可以調(diào)用成功,參數(shù)設(shè)置都是跟函數(shù)VLookup一樣,是不是一點也不難哦?

文章圖片7

代碼匯總?cè)缦拢?/span>

Sub Judge_Age_Period_Next() '利用For Next循環(huán)進行判斷Application.ScreenUpdating = FalseSheets('DATA').SelectDim i As Long, lr As Long '定義兩個長整數(shù)型數(shù)值lr = ActiveSheet.UsedRange.Rows.Count '獲取當(dāng)前工作表的最大行數(shù)For i = 2 To lr Step 1 '以步長為1的方式向下遍歷循環(huán)判斷 If Range('D' & i) <= 3 Then Range('E' & i) = '嬰兒' ElseIf Range('D' & i) <= 18 Then Range('E' & i) = '少年' ElseIf Range('D' & i) <= 35 Then Range('E' & i) = '青年' ElseIf Range('D' & i) <= 50 Then Range('E' & i) = '中年' Else: Range('E' & i) = '老年' End IfNext iApplication.ScreenUpdating = TrueEnd SubSub Judge_Age_Period_While() '利用While Loop循環(huán)進行判斷Application.ScreenUpdating = FalseSheets('DATA').SelectDim i As Long '定義一個長整數(shù)型數(shù)值i = 2 '定義起始點數(shù)值Do While Range('D' & i) <> '' '定義何種情況執(zhí)行循環(huán) If Range('D' & i) <= 3 Then Range('F' & i) = '嬰兒' ElseIf Range('D' & i) <= 18 Then Range('F' & i) = '少年' ElseIf Range('D' & i) <= 35 Then Range('F' & i) = '青年' ElseIf Range('D' & i) <= 50 Then Range('F' & i) = '中年' Else: Range('F' & i) = '老年' End Ifi = i + 1 '定義步長向下循環(huán)遍歷LoopApplication.ScreenUpdating = TrueEnd SubSub Judge_Age_Period_Until() '利用Until Loop循環(huán)進行判斷Application.ScreenUpdating = FalseSheets('DATA').SelectDim i As Long '定義一個長整數(shù)型數(shù)值i = 2 '定義起始點數(shù)值Do Until Range('D' & i) = '' '定義何種情況執(zhí)行循環(huán) If Range('D' & i) <= 3 Then Range('G' & i) = '嬰兒' ElseIf Range('D' & i) <= 18 Then Range('G' & i) = '少年' ElseIf Range('D' & i) <= 35 Then Range('G' & i) = '青年' ElseIf Range('D' & i) <= 50 Then Range('G' & i) = '中年' Else: Range('G' & i) = '老年' End Ifi = i + 1 '定義步長向下循環(huán)遍歷LoopApplication.ScreenUpdating = TrueEnd SubSub Judge_Age_Period_Each() '利用Each Next循環(huán)進行判斷Application.ScreenUpdating = FalseSheets('DATA').SelectDim i As Long, rng As Range '定義一個長整數(shù)型數(shù)值和Range對象i = 2 '定義起始點數(shù)值For Each rng In Range('H2:H12') '定義循環(huán)范圍 If Range('D' & i) <= 3 Then Range('H' & i) = '嬰兒' ElseIf Range('D' & i) <= 18 Then Range('H' & i) = '少年' ElseIf Range('D' & i) <= 35 Then Range('H' & i) = '青年' ElseIf Range('D' & i) <= 50 Then Range('H' & i) = '中年' Else: Range('H' & i) = '老年' End Ifi = i + 1 '定義步長向下循環(huán)遍歷NextApplication.ScreenUpdating = TrueEnd SubSub Find_Match_VLP() '利用Vlookup匹配數(shù)據(jù)Application.ScreenUpdating = FalseSheets('DATA').SelectDim i As Long, lr As Long '定義兩個長整數(shù)型數(shù)值lr = ActiveSheet.UsedRange.Rows.Count '獲取當(dāng)前工作表的最大行數(shù)For i = 2 To lr Step 1 '以步長為1的方式向下遍歷循環(huán)判斷 '通過Vlookup進行匹配數(shù)據(jù) Range('I' & i) = Application.VLookup(Range('A' & i), Worksheets('INFO').Range('D:E'), 2, 0)Next iApplication.ScreenUpdating = TrueEnd Sub

VBA其實并不難,只要肯下點功夫就可以熟練掌握和運用,大家趕緊試一試吧?。?!

END

我為人人,人人為我??!歡迎大家關(guān)注,點贊和轉(zhuǎn)發(fā)?。?!

~~人生不是賽場,夢想不容退場~~不斷努力學(xué)習(xí)蛻變出一個更好的自己,不斷分享學(xué)習(xí)路上的收獲和感悟幫助他人成就自己!??!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多