文章編號: 280094 - 上次校閱: 2007年6月8日 - 版次: 4.2

在 Excel 中隱藏公式錯誤的使用者定義函數範例

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

Microsoft Excel 中有些公式會在特定情況下傳回錯誤值。例如,當您使用將某數乘以零的除法公式時,會收到下列錯誤值:
#DIV/0!
使用範例公式 =100/0,您可以隱藏錯誤值以解決這個問題。如果要執行這項操作,請依照下列方式修改公式:
=IF(ISERROR(100/0),"",100/0)
注意 雖然上述公式有效,但若是更長的公式就會變得很麻煩。

利用本文提供的使用者定義函數,解決問題的公式如下所示:
=IFERROR(100/0,"")

其他相關資訊

Microsoft 僅提供示範性的程式設計範例,不做任何明示或默示的保證。其中包括 (但不限於) 其適售性與適合某特定用途之默示擔保。本文假設您已相當熟悉示範所使用的程式設計語言,以及用於建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。

如何建立範例函數

  1. 在 Excel 中,開啟 Microsoft Visual Basic 編輯器。

    如果要在 Microsoft Office Excel 2003 和舊版 Excel 中執行這項操作,請指向 [工具] 功能表上的 [巨集],然後按一下 [Visual Basic 編輯器]。或者,按下 ALT+F11。

    如果要在 Microsoft Office Excel 2007 中執行這項操作,請按一下 [開發人員] 索引標籤,然後按一下 [程式碼] 群組中的 [Visual Basic]。或者,按下 ALT+F11。

    注意 如果要在功能區顯示 [開發人員] 索引標籤,請按一下 [Microsoft Office 按鈕],按一下 [Excel 選項],再按 [常用] 類別,按一下以選取 [在功能區顯示 [開發人員] 索引標籤] 核取方塊,然後按一下 [確定]
  2. 按一下 [插入] 功能表上的 [模組],然後輸入下列巨集。
    Function IfError(formula As Variant, show As String)
    
        On Error GoTo ErrorHandler
    
        If IsError(formula) Then
            IfError = show
        Else
            IfError = formula
        End If
    
        Exit Function
    
    ErrorHandler:
        Resume Next
    
    End Function
    					
  3. [檔案] 功能表上,按一下 [關閉並回到 Microsoft Excel]
  4. 如果要使用函數,請按一下 [插入] 功能表上的 [插入函數]。在 [插入函數] 對話方塊中,按一下 [類別] 下方的 [使用者定義],然後按一下 [選取函數] 下方的 [IfError]。按一下 [確定]
  5. [公式] 旁邊,輸入要隱藏錯誤值的公式。請勿加上等號 (=)。
  6. [顯示] 旁邊,輸入要顯示取代錯誤值的內容。如果要隱藏錯誤值,請輸入雙引號 ("")。
  7. 按一下 [確定]
如需有關如何使用本文中範例程式碼的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
212536? (http://support.microsoft.com/kb/212536/ ) OFF2000:如何執行知識庫文件的範例程式碼

這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
關鍵字:?
kbhowto kbinfo KB280094
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。