他山之石 VBA自定義函式

2021-08-20 22:44:37 字數 1413 閱讀 4728

vba自定義函式自己是最近才開始使用的。其好處是可在工作表中直接呼叫,很方便。

這裡,這位老師總結的很好,學習了!

'1 什麼是自定義函式?

'在vba中有vba函式,我們還可以呼叫工作表函式,我們能不能自已編寫函式呢?可以,這就是本集所講的自定義函式

'2 怎麼編寫自定義函式?

'我們可以按下面的結構編寫自定義函式

' function 函式名稱(引數1,引數2....)

'**'函式名稱=返回的值或陣列

' end function

'1 取得工作表總個數的自定義函式

function shcount()

shcount = sheets.count

end function

sub dd()

msgbox getv(range("a7"))

end sub

'2 取得單元格顯示值的自定義函式

function getv(rg as range)

getv = rg.text

end function

'3 擷取字串的函式

function jiequ(sr as string, fh as string, wz as integer)

dim arr

arr = split(sr, fh)

jiequ = arr(wz - 1)

end function

'4 提取不重複值的個數

function 不重複個數(rg as range)

dim d, arr, ar

arr = rg

set d = createobject("scripting.dictionary")

for each ar in arr

d(ar) = ""

next ar

不重複個數 = d.count

end function

sub test()

msgbox jiequ("a-brt-c-ef", "-", 2)

end sub

'1 怎麼讓自定義函式在所有工作簿中使用?

'答: 把含有自定義函式的檔案另存為加截巨集,然後通過工具-加截巨集-瀏覽找到這個檔案-確定。

'2 怎麼給自定義函式新增說明

'工具-巨集-巨集名輸入自定義函式的名稱-選項--在說明欄中寫入這個函式的名稱

'3、怎麼給自定義函式分類

sub 分類()

end sub

'注:'0 是全部

'1 財務

'2 日期和時間

'3 數學和三角

'4 統計

'5 查詢和引用

'6 資料庫

'7 文字

'8 邏輯

'9 資訊

VBA使用者自定義函式

函式是一組可重複使用的 可以在程式中的任何地方呼叫。這消除了一遍又一遍地編寫相同的 的需要。這使程式設計師能夠將乙個大程式劃分成許多小的可管理的功能模組。除了內建函式外,vba還允許編寫使用者定義的函式。乙個vba函式可以有乙個可選的return語句。如果要從函式返回值,則可使用return語句。例...

VBA自定義函式 Minkowski距離

接觸vba第一天,寫了個閔可夫斯基距離 當r 1時,距離為曼哈頓距離 當r 2時,距離為歐幾里得距離距離 直線距離 當r 時,距離為切比雪夫距離 根據閔可夫斯基距離距離公式,在vba寫出以下 public function distance a as range,b as range,optiona...

VBA第7課 編寫自定義函式

1.取工作表總個數 在工作表裡輸入 shcount 即可,以下同理 function shcount shcount sheets.count end function 2.取得單元格顯示的自定義函式 function getv rg as range getv rg.text end functi...