人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【Excel VBA】Function の中で死ぬことはしないのでしょうか?

Function 内でエラー発生した場合、メッセージを出して終了してほしいのですが、一般的にはどのように行っているのでしょうか?

''' 存在しないシート名ならわかりやすく死んでほしい
Public Function getWorksheetByName(name As String, book As Workbook) As Worksheet
On Error Resume Next
getWorksheetByName = book.Worksheets(name)

If getWorksheetByName Is Nothing Then
MsgBox "シート[" & name & "]が存在しません!"
die() ' そんな関数は無い。End Function では Sub に戻って継続してしまう
End If
End Function


死にたければ Sub で実装するのでしょうか?
Public Sub setWorksheetFor(ByRef ws As Worksheet, name As String, book As Workbook)
...
End Sub

Sub test()
Dim ws As Worksheet
setWorksheetFor ws, "あるシート", ThisWorkbook
...

●質問者: nannde
●カテゴリ:コンピュータ
✍キーワード:as book Excel name NeXT
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント ベストアンサー

On Error Resume Nextがあるからじゃないですか?

http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page21.htm

◎質問者からの返答

die()の代わりにEndが使えるようですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ