久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

學(xué)習(xí)VBA,報表做到飛 第一章 入門篇 1.18 Find語句

 拾叁億人 2023-04-05 發(fā)布于云南

第一章 入門篇

1.18 Find語句

Find語句的功能相當(dāng)于Excel菜單里的“查找”,。該語句的語法是這樣的:

Range('要查找的區(qū)域').Find(What,After,Lookin,LookAt,SearchOrder,SearchDirection,MatchCase,MatchByte,SearchFormat)

Find語句在要查找的區(qū)域中查找信息,,返回找到該信息的第一個單元格,沒找到返回Nothing,。

讓我們來了解一下Find的參數(shù):

Find語句有這么多參數(shù),,其實它只有一個必選參數(shù)What,其它參數(shù)都是可選,。

What 要查什么,?

After 在哪個單元格之后開始查詢

Lookin:

xlformulas 查詢公式

xlvalues 查詢值

xlcomments 查詢批注

LookAt:

xlWhole 精確查詢,簡寫1

xlPart 模糊查詢,,簡寫2

SearchOrder:

xlByRows 按行查找,,簡寫1

xlByColumns 按列查找,簡寫2

SearchDirection:

xlnext 向下查找(默認(rèn)),,簡寫1

xlprevious 向上查找,,簡寫2

MatchCase 默認(rèn)值為False不區(qū)分大小寫,如果為True則搜索區(qū)分大小寫,。

大家可以對照一下,,F(xiàn)ind語句的參數(shù)設(shè)置,與Excel菜單里的“查找”具有的功能是一一對應(yīng)的,。在“查找”菜單里點選的功能,,都可以通過設(shè)置Find語句的參數(shù),在VBA里實現(xiàn),。

查找內(nèi)容可以使用通配符,,如:*、,?等,。

例句:

在下表中的B列找到臺式電腦,彈出它的地址,。

卡片號

資產(chǎn)名稱

建卡日期

原值

凈值

00007933

空調(diào)

2007-12-31

498720.00

14961.60

00007934

臺式電腦

2007-12-31

35670.00

1070.10

00012189

音響設(shè)備

2007-12-31

12420.00

372.60

00014439

照相機

2008-06-11

6800.00

204.00

00014439

音響設(shè)備

2008-06-11

6800.00

204.00

00014439

音響設(shè)備

2008-06-11

6800.00

204.00

00072375

監(jiān)控設(shè)備

2013-12-28

16986.00

509.58

00072448

空調(diào)

2013-12-28

6405.00

192.15

MsgBox Range('b:b').find('臺式電腦').Address

這樣返回的是一個絕對引用地址:$B$3,,這時可以用.Address(0,0),,返回B3。

小程序:

從上表中隨機抽取3個卡片號,,把抽取結(jié)果輸入到“g”列,。

Sub find()

h = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To 3

sj = Application.RandBetween(2, h)

Set 查找結(jié)果 = Range('g:g').find(Cells(sj, 1))

If 查找結(jié)果 Is Nothing Then

Cells(i, 'g') = Cells(sj, 1)

End If

Next

End Sub

我們看一下這條語句:

sj = Application.RandBetween(2, h)

在這條語句里,我們引用了Excel的一個函數(shù)RandBetween來生成一個隨機數(shù),。想在VBA里引用現(xiàn)有的Excel函數(shù)時,,在函數(shù)前加上Application就可以了,用法與函數(shù)的使用相同,。

我們先用RandBetween函數(shù)生成一個在2和最大行數(shù)之間的隨機數(shù),,然后把該隨機數(shù)對應(yīng)的卡片號在'g'列查找。因為查找到的結(jié)果是一個單元格對象,,所以查找結(jié)果的賦值要加上'Set',。如果找到了,說明該卡片號已經(jīng)被抽取到'g'列了,,所以不再重復(fù)抽取,。如果沒找到,就把該卡片號復(fù)制到'g'列,。

不過這個程序運行以后,,可能因為產(chǎn)生的隨機數(shù)會相同,所以抽取的卡片達不到3個,。所以我們可以把For循環(huán)的次數(shù)加大,,結(jié)果Exit For語句使用。上面的程序我們可以修改一下:

Sub find()

h = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To 10

sj = Application.RandBetween(2, h)

Set 查找結(jié)果 = Range('g:g').find(Cells(sj, 1))

If 查找結(jié)果 Is Nothing Then

n = n + 1

Cells(n, 'g') = Cells(sj, 1)

End If

If n = 3 Then Exit For

Next

End Sub

這樣就能保證每次都能抽取到3個卡片號了,。不過這樣寫程序,,如果For循環(huán)的次數(shù)設(shè)置的不合理,仍然不會得到我們想要的結(jié)果,。在以后的章節(jié)里,,我們會學(xué)到另一個循環(huán)語句Do Loop語句,它會無限次循環(huán),,直到達到我們需要的結(jié)果為止,。本章節(jié)主要是介紹Find語句的用法,各位可以自己動手編寫一些語句,,測試一下Find語句每個參數(shù)的用法,。

    本站是提供個人知識管理的網(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ā)表

    請遵守用戶 評論公約

    類似文章 更多
    喜歡該文的人也喜歡 更多
    熱門閱讀 換一換