Board logo

標題: [發問] 如何將vba模組做成函數指令,嵌到系統裡 [打印本頁]

作者: 暗黑    時間: 2010-7-22 23:21     標題: 如何將vba模組做成函數指令,嵌到系統裡

請教各位大大
小弟在寫函數式,因找不到像vba裡Split指令的功能,所以用vba寫了一個回傳巨集,如下
請問要如何將SplitRun做成 excel裡的函數指令呢??  如sum、avg.....等函數可直接叫用,而不是每次都要寫一次模組

儲存格
H10 : 5100-100421133
H11 :=splitrun(H10,"-",1) = 5100

vba 模組 如下

Function SplitRun(指定, 符號, 回傳序號)

  Dim StrRun
  StrRun = Split(指定, 符號)
   SplitRun = StrRun(回傳序號 - 1)

End Function
作者: Hsieh    時間: 2010-7-22 23:57

回復 1# 暗黑


    存成增益集xla,載入增益集
作者: luhpro    時間: 2010-7-22 23:59

本帖最後由 luhpro 於 2010-7-23 00:06 編輯

你可參考 VBA 的說明中關於 MacroOptions 函數的用法與範例.

Sub AddUDFToCustomCategory()
    Application.MacroOptions Macro:="SplitRun", Description:="巨集的說明", Category:="我的類別"
End Sub

Function SplitRun(指定, 符號, 回傳序號)

  Dim StrRun
  StrRun = Split(指定, 符號)
   SplitRun = StrRun(回傳序號 - 1)
End Function

此法中所建立出來的函數只能用於該程式所在的檔案,
但存檔後即可一直使用而不再需要執行該程式.
作者: 暗黑    時間: 2010-7-23 08:16

再請教..
SplitRun已存成增益集並載入了,
那要如何在vba編輯器中,不要出現SplitRun增益集呢
作者: ANGELA    時間: 2010-7-29 10:21

本帖最後由 ANGELA 於 2010-7-29 10:42 編輯
再請教..
SplitRun已存成增益集並載入了,
那要如何在vba編輯器中,不要出現SplitRun增益集呢
暗黑 發表於 2010-7-23 08:16



       我也很想知道是否能穩藏增益集,加多了找起來會感覺很亂.需且一般也不會修改增益集.
    還有有時在按F8檢查程式碼時,執行到中間時會跳去執行增益集,真怪.
作者: GBKEE    時間: 2010-7-29 14:49

我也很想知道是否能穩藏增益集,加多了找起來會感覺很亂.需且一般也不會修改增益集.
    還有 ...
ANGELA 發表於 2010-7-29 10:21

將程式存於Personal.xls (個人巨集活頁簿) 也是有增益集的效果




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)