EXCEL2013以降の関数をEXCEL2010に移植 その4

EXCEL2010で使用できるように自作

 

Option Explicit

 

Function ISFORMULA(ByVal Data As Range) As Variant 'ISFORMULA関数(EXCEL2010で使用できるように自作)

 

If IsError(Data) Then
        Select Case Data
            Case CVErr(xlErrDiv0)
                ISFORMULA = True
                Exit Function
            Case CVErr(xlErrNA)
                ISFORMULA = False
                Exit Function
            Case CVErr(xlErrName)
                ISFORMULA = True
                Exit Function
            Case CVErr(xlErrNull)
                ISFORMULA = False
                Exit Function
            Case CVErr(xlErrNum)
                ISFORMULA = False
                Exit Function
            Case CVErr(xlErrRef)
                ISFORMULA = False
                Exit Function
            Case CVErr(xlErrValue)
                ISFORMULA = False
                Exit Function
        End Select
End If

 

If Data = "" Then
        If Data.HasFormula = True Then
                ISFORMULA = True
            Else
                ISFORMULA = False
        End If
        Exit Function
    ElseIf Data.HasFormula = True Then
        ISFORMULA = True
    ElseIf Data.HasFormula = False Then
        ISFORMULA = False
    Else
        ISFORMULA = False
End If

 

End Function

  

以上。