Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8489 / 13644 ツリー ←次へ | 前へ→

【32968】On Errorステートメントを書いてもエラーが発生してしまう Collo 05/12/28(水) 12:11 質問[未読]
【32974】Re:On Errorステートメントを書いてもエラ... やっちん 05/12/28(水) 12:38 発言[未読]
【32990】Re:On Errorステートメントを書いてもエラ... Collo 05/12/28(水) 15:37 お礼[未読]
【32979】Re:On Errorステートメントを書いてもエラ... Kein 05/12/28(水) 13:33 発言[未読]

【32968】On Errorステートメントを書いてもエラー...
質問  Collo  - 05/12/28(水) 12:11 -

引用なし
パスワード
   初めて投稿させて頂きます。Colloと言います。

さっそく質問ですが、題名の通り、On Errorステートメントをプロシージャの
先頭にしっかり書いているのにエラーが発生してしまうのです。

環境:Win XP SP2
   Excel2003(Office 2003 Pro)

コード:
Private Sub cmdClear_Click()

  On Error Resume Next

  For Each Control In frmInitial.Controls
    Control.Value = ""
  Next Control

End Sub

コントロール:
Frame ×4
CommandButton ×5
TextBox ×5
ComboBox ×7
Label ×10-

ざっとこんな感じで、ヘルプにまんま載っている記述です。
このプロシージャで何がしたいかというと、UserFormのコントロールの
Valueプロパティを消したいのです。
もちろんValueプロパティがないコントロールではエラー(No.13)が
発生するので、それを飛ばしてほしいだけなんです。

On Error Resume Nextが効いてくれないのは別のファイルのVBAでも
同じで、Resume Next だけではなくほかのエラー処理も効いてくれません。

この話とは別ですが、前にVB6.0でプログラムを書いていたとき、試し用に
プロジェクトを変えてコードを書き、それの動作がうまくいったので、本元の
プロジェクトにコードをコピーして貼り付けたんですけと、何故かうまく動い
てくれなかったこともありました。
なんだかよく分からないことが多いです。

VB6.0と.NETそこそこ、VBAは書き始めて1ヶ月ほどの初心者です。
いくら調べても分からず、ほとほと困っております。どうか助けてください。
よろしくお願いします。

【32974】Re:On Errorステートメントを書いてもエ...
発言  やっちん  - 05/12/28(水) 12:38 -

引用なし
パスワード
   ▼Collo さん:
メニューの「ツール」の「オプション」の「全般」の「エラートラップ」が
「エラー発生時に中断」になっていませんか?
「エラー処理対象外のエラーで中断」に変更してみてください。

【32979】Re:On Errorステートメントを書いてもエ...
発言  Kein  - 05/12/28(水) 13:33 -

引用なし
パスワード
   >Valueプロパティがないコントロールではエラー(No.13)が
>発生するので、それを飛ばしてほしい
なら、ループ中のコントロールの Type を判定して、条件分岐すればいいのでは ?

【32990】Re:On Errorステートメントを書いてもエ...
お礼  Collo  - 05/12/28(水) 15:37 -

引用なし
パスワード
   ▼やっちん さん:

>メニューの「ツール」の「オプション」の「全般」の「エラートラップ」が
>「エラー発生時に中断」になっていませんか?
>「エラー処理対象外のエラーで中断」に変更してみてください。

解決しました!
やっちんさんの言う通りでした。設定の問題だったんですね…。
長い間悩んでたのに、こんなに早く解決するとは思いもしませんでした(笑)

ありがとうございました!


▼Kein さん:

同じ投稿での返信失礼いたします。
エラーは13番限定じゃなくて、どのエラーも全て処理できなかったんです。
でも、質問への返答ありがとうございました。上記の通り解決いたしました。


お二人とも本当にありがとうございました。
迷ったんですけど質問してよかったです。

8489 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free