九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Function自定義函數(shù)_模擬2016版本新函數(shù) TextJoin

       今天翻了一下之前老師布置的練習題,題目是這樣的:用VBA編寫一個自定義函數(shù),以實現(xiàn)按照任意指定字符連接所選單元格區(qū)域的各單元格的值

如:其中A3:A9是所選區(qū)域,星號是指定連接符號,能夠?qū)崿F(xiàn)C2單元格的效果即可。




這個題目有點2016版本TextJoin函數(shù)功能的意思,VBA實現(xiàn)起來也比較簡單,所以今天我們就來看看這個問題的代碼應(yīng)該怎么來寫吧。

看代碼:


效果圖:

代碼解釋:

1、自定義函數(shù)的代碼結(jié)構(gòu)

Function  函數(shù)名(參數(shù))返回值

    代碼段

End Function

MyTextJoin為函數(shù)名:函數(shù)寫好之后,在表格中就調(diào)用該函數(shù)

rng、str 是給定的兩個參數(shù),range即表示該函數(shù)需要給定一個單元格的區(qū)域,str則表示用來連接給定單元格值之間的“字符串”。

最后函數(shù)需要返回一個字符串類型的結(jié)果,所以在括號后面跟了一個返回值的類型。


2、代碼的含義

2.1:由于函數(shù)的用意是用某個字符串對單元格區(qū)域進行兩兩連接,所以我們知道參數(shù)中的單元格區(qū)域中單元格的個數(shù)是在兩個及以上的,所以定義了一個數(shù)組arr用來接收將來給定的單元格區(qū)域,用來后續(xù)循環(huán)得到數(shù)組中的每個獨立值(之所以用數(shù)組,是因為數(shù)組的速度快)

 arr = rng.Value

2.2:定義兩個循環(huán)變量i和j,因為將單元格區(qū)域的值賦值給變量我們會得到一個二維的數(shù)組,所以我們需要獲得二維數(shù)組的每一個維度的最大下標,以便我們能夠通過數(shù)組的角標獲取到對應(yīng)各單元格的單個值。

For i = 1 To UBound(arr)
        For j = 1 To UBound(arr, 2)
         
        Next j
    Next i

2.3:判斷給定區(qū)域的值是否為空,只對不為空的單元格的值進行連接,忽略空值,并定義一個變量strResult用來存儲每次更新的連接結(jié)果

If Len(arr(i, j)) <> 0 Then
   strResult = strResult & arr(i, j) & str
End If


3、返回值

函數(shù)名=返回的結(jié)果,由于strResult每次連接的時候都將連接符連接在最后,所以以上循環(huán)連接結(jié)果最后還多出了一個連接符,所以我們需要將該連接符去除得到我們最終想要的完全正確的結(jié)果

MyTextJoin = Left(strResult, Len(strResult) - Len(str))


至此,這段代碼就結(jié)束了,大家如果寫好了代碼,可以到單元格中試一下自己寫的自定義函數(shù)哦。



本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Excel VBA高級自定義字符串連接函數(shù) 仿Office365中Textjoin函數(shù) 合并字符 |...
福利:兩個好用的自定義函數(shù)(仿textjoin和evaluate)
MAP函數(shù)用過沒?
Excel 連接多個單元格5種方法,你會幾種?
如何提取唯一值?試試TEXTJOIN函數(shù)搭配VBA自定義!
VBA數(shù)組(一)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服