ExcelVBA 寫自定義函數(shù)
網(wǎng)友提問:

放大圖片

回答網(wǎng)友問題:
我舉個例子,sub過程就好比一個知識我學(xué)會了,funciton函數(shù)就好比我把學(xué)會的知識寫成一個通用的代碼供大家使用。肯定后者難,所以你要先會寫前者,才能去研究后者。
我們以你這張表為例

我先寫一個過程
Sub shishi()
Set 范圍 = Range("A1:A3")
For Each 單元格 In 范圍
? ?If 單元格.Value = "a" Then
? ? ? ?i = i + 1
? ? ? ?If i = 3 Then
? ? ? ? ? ?Debug.Print 單元格.Offset(0, 1).Value
? ? ? ? ? ?Exit For
? ? ? ?End If
? ?End If
Next
End Sub

然后再寫函數(shù)? 因為你傳進(jìn)來的? A1:A3 他不是字符串,他是單元格范圍
所以我們要用 [A1:A3]? ?或? [D1] 來表示 單元格
像 range("A1:A3")? 和 range("D1")? 里面?zhèn)鬟f的是字符串,當(dāng)然也可以,只是你將來使用函數(shù)時,要給它們加雙引號,相對麻煩一些。
Function 孫興華(查什么, 在哪里查, 返回什么, 第幾次出現(xiàn))
Set 范圍 = [在哪里查]
For Each 單元格 In 范圍
? ?If 單元格.Value = [查什么].Value Then
? ? ? ?i = i + 1
? ? ? ?If i = 第幾次出現(xiàn) Then
? ? ? ? ? ?孫興華 = 單元格.Offset(0, 返回什么).Value
? ? ? ? ? ?Exit For
? ? ? ?End If
? ?End If
Next
End Function
然后我們到工作表中使用函數(shù)

切記!這個邏輯
因為:要先自己學(xué)會,才能幫助別人
所以:要先會寫sub,才會寫function

ExcelVBA:??https://www.bilibili.com/video/BV1rt4y1a72y
標(biāo)簽: