![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
![]() |
#6 (permalink) |
管理員
![]() ![]() |
![]() 為自己的Excel加入自定義函數 可以參考以下: Excel 2010 可以自訂公式(函數)來補足內建公式(函數)無法處理的情形 為自己的 Excel 2003 加入自定義函數 如何在另一個活頁簿中使用自訂函式 Excel 2003 自訂函數_簡單說明 如何讓 Excel 2010 的自訂函數顯示說明文字 以阿姨提的例子 ... 迪西也寫了一個「自訂函數」 ... 用法就是跟一般的函數差不多,經過測試,無法接受「連續型的位址 (A1:A8)」 ... 只要輸入的參數其中有一個「連續型的位址」是就會有問題了 #VALUE!,如下: A9=COUNT_NR(A1:A8) A9=COUNT_NR(A1,A2, ...,B1:C3, ...) A9=COUNT_NR(A1:A8,B1,C3,A18) 值與儲存格混合的也不行,一樣會有 #VALUE! A9=COUNT_NR(1,1,2,3,5,4,4,1,B1,C2,D6) 只要拿掉這個「連續型的位址 (A1:A8)」就正常了,如下: A9=COUNT_NR(A1,A2,A3,A4,A5,A6,A7,A8) A9=COUNT_NR(1,1,2,3,5,4,4,1) 把以下的方塊中的 VBA 程式碼,貼到工作表「巨集/VBA編輯器中」,可以參考上述連結 的文章,程式效果與 IF、COUNTIF + IF、COUNTIF ... 相當類似 語法:
Function COUNT_NR(ParamArray argList() As Variant) ' 函數(1,2,3, ...) 或是 函數(A1,B2,C3, ...) ok ' #VALUE! 異常終止 類型: ' 1.引數其中之一只要有 A1:A3 這種連續型位址 ' 函數(A1:A8) ' 函數(A1,A2, ...,B1:C3, ...) ' 函數(A1:A8,B1,C3,A18) ' 2、值與儲存格混核的類型 ' 函數(1,1,2,3,5,4,4,1,B1,C2,D6) ' 函數(A1,A2, ...,1,2,3, ...) Dim i, j, Count As Variant For i = LBound(argList) To UBound(argList) If i = UBound(argList) Then Exit For End If For j = i + 1 To UBound(argList) If argList(i) = "" Then Exit For End If If argList(i) = argList(j) Then argList(j) = "" End If Next j Next i Count = 0 For Each arg In argList If arg <> "" Then Count = Count + 1 End If Next arg COUNT_NR = Count End Function 此帖於 2015-06-07 10:14 PM 被 getter 編輯. |
![]() |
送花文章: 37855,
![]() |
有 3 位會員向 getter 送花:
|
|
|
![]() |
||||
主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
請問Excel列印的問題 | Ken1655 | 軟體應用問題討論區 | 3 | 2004-05-23 09:23 AM |
EXCEL VBA專案被鎖?? | suchunta | 軟體應用問題討論區 | 0 | 2004-05-19 04:29 PM |
EXCEL 文件中有可以一次大量更改 超鏈結 的方法嗎!? | 995 | 一般電腦疑難討論區 | 12 | 2003-11-27 11:50 AM |
Microsoft Excel 問題 | ascendaniel | 一般電腦疑難討論區 | 3 | 2003-11-21 10:08 PM |