EXCEL2003 SP3で下記の処理を動かすと
正常に動くのですが、SP2だとエラーが起こってしまい
どうようのことが別の処理でも起こってしまい困っています。
SP2とSP3の違いはなにがあるのでしょうか?
Function Sheet_Name_Sheach(Fbname As String, Fcord As String)
'機能説明 : 名前設定の存在確認
On Error Resume Next
TypeName (Workbooks(Fbname).Names(Fcord))
If Err = 0 Then
Sheet_Name_Sheach = 0
Else
Sheet_Name_Sheach = 1
End If
End Function
こんばんは。
いずれにしても、そのコードが通る通らないというのは関係なく、コード自体が無意味な部分があります。
>TypeName (Workbooks(Fbname).Names(Fcord))
TypeName は、関数ですから、戻り値があります。戻り値を受けずに使えません。
しかし、
Workbooks(Fbname).Names(Fcord)
は、オブジェクトに決まっていますから、
Function Sheet_Name_Sheach(Fbname As String, Fcord As String)
Dim obj As Object
'機能説明 : 名前設定の存在確認
On Error Resume Next
Set obj = Workbooks(Fbname).Names(Fcord)
If obj Is Nothing Then
Sheet_Name_Sheach = 0
Else
Sheet_Name_Sheach = 1
End If
Set obj = Nothing
On Error GoTo 0 '←トラップは必ず終わらせてください。
End Function