日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

excel vba 使用mschart_使用VBA时不妨借力Excel催化剂的能力,开发更加轻松便捷

發(fā)布時(shí)間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 excel vba 使用mschart_使用VBA时不妨借力Excel催化剂的能力,开发更加轻松便捷 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

雖然Excel催化劑已經(jīng)包含了大量的功能,但面對(duì)現(xiàn)實(shí)工作中,各種紛繁復(fù)雜的場景,仍然顯得不夠。

剛好QQ群里有討論到學(xué)習(xí)VBA的話題,也順帶參與了一下,有了Excel催化劑,不止是對(duì)零代碼使用上帶來很大的便利,其實(shí)在日常編寫VBA代碼時(shí),同樣可以受益,輕松調(diào)用Excel催化劑開發(fā)出來的眾多自定義函數(shù)。

VBA調(diào)用自定義函數(shù)原理

在工作表自定義函數(shù)的開發(fā)中,存在兩種類似的自定義函數(shù),一種是存儲(chǔ)在xlam或xlsm上的,一種存儲(chǔ)在xll文件上的。其開啟關(guān)閉都在Excel普通加載項(xiàng)處,如下圖所示。

如果不會(huì)打開此對(duì)話框,可以更傻瓜式地使用筆者開發(fā)的【OFFICE插件管理工具】操作,最新版支持普通加載項(xiàng)管理,如下圖。

在VBA代碼中,調(diào)用工作表自定義函數(shù),只需要使用Application.Run即可,如果有參數(shù)就傳入?yún)?shù)。具體的使用說明見下圖官方文檔。第一個(gè)參數(shù)是宏名稱,即自定義函數(shù)名稱,其他參數(shù)為自定義函數(shù)使用的參數(shù)。

能夠使用Application.Run調(diào)用加載項(xiàng)的自定義函數(shù)的前提是此加載項(xiàng)已經(jīng)在啟用狀態(tài),否則是不能生效強(qiáng)行調(diào)用會(huì)報(bào)錯(cuò)。

因?yàn)閂BA宏支持不同文件、不同模塊,多個(gè)同名的函數(shù),所以嚴(yán)格的調(diào)用自定義函數(shù)時(shí),需要引用全名函數(shù)

例如如下的test.xlam文件中,有兩個(gè)模塊,分別為模塊1、模塊2,兩個(gè)模塊中有同一個(gè)函數(shù)testFunc,為驗(yàn)證結(jié)果,返回值將其分別設(shè)計(jì)為1和2。

在一個(gè)新的文件工作薄2.xlsm上調(diào)用其函數(shù)時(shí),會(huì)提示報(bào)錯(cuò),估計(jì)因?yàn)橹孛脑蚨P者在引用時(shí)沒有引用全名,只引用宏名。

當(dāng)這種同名的情況下,我們工作表函數(shù)調(diào)用時(shí),也會(huì)提示我們選擇全路徑。

最終我們輸入的函數(shù)全名時(shí),可以正確使用,全名的輸入格式為:

a = Application.Run("test.xlam!模塊1.testFunc")

注意:在xll文件中的自定義函數(shù)沒有全名的概念,所以還是保留著只引用函數(shù)名的調(diào)用方式,如果有重名,筆者也不知道會(huì)出現(xiàn)什么情況,有興趣的讀者可以自行測試

VBA調(diào)用Excel催化劑開發(fā)的自定義函數(shù)效果

因?yàn)镋xcel催化劑使用.net技術(shù)開發(fā)了大量的自定義函數(shù),所以在VBA的開發(fā)過程中,完全可以復(fù)用這些的函數(shù),減少自己的代碼量,同時(shí)因?yàn)槭褂昧?net技術(shù),許多在VBA里難以實(shí)現(xiàn)的算法,均已經(jīng)有現(xiàn)成可用了,可以極大地提高自己的開發(fā)效率。

具體有哪些自定義函數(shù),及其的使用方法,可以在【功能清單搜索】上,點(diǎn)擊【遍歷功能清單】,將其所有函數(shù)清單遍歷出來,供參考。

自定義函數(shù)在調(diào)用和返回上有以下幾種情形

  • 無參數(shù)調(diào)用

例如這個(gè)偽造函數(shù),最精簡時(shí)可以省略所有參數(shù),調(diào)用的方法只需輸入函數(shù)名。

  • 有參數(shù)調(diào)用

例如以下的正則函數(shù),也是可以輕松在VBA上使用上,并且是.NET版本的正則,比VBA的正則更好用。

  • 返回多值結(jié)果的

Excel催化劑的自定義函數(shù),可以返回多值,并在工作表單元格上自動(dòng)擴(kuò)展區(qū)域,同樣地在VBA調(diào)用時(shí),也可以返回多值,如果有Array返回?cái)?shù)組結(jié)尾的函數(shù)盡量用這個(gè)函數(shù),而不是自動(dòng)擴(kuò)展區(qū)域的函數(shù)。但經(jīng)測試,自動(dòng)擴(kuò)展區(qū)域的函數(shù)如GetFiles,也是可用的,具體要自行多測試。

注意自動(dòng)擴(kuò)展區(qū)域的返回是一個(gè)二維數(shù)組,而非上方的Array結(jié)尾的一維數(shù)組。

結(jié)語

Excel催化劑不遺余力,花費(fèi)近3年的時(shí)間打造的航空母艦級(jí)功能,衷心希望可以更多人從中受益,除了普通用戶,其實(shí)VBA開發(fā)群體亦可以用得上許多能力。

300+個(gè)自定義函數(shù),等著你們來掘?qū)?#xff0c;輕松復(fù)用,不必重復(fù)造輪子。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的excel vba 使用mschart_使用VBA时不妨借力Excel催化剂的能力,开发更加轻松便捷的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。