Excel VBA質問箱 IV

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

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


6900 / 13646 ツリー ←次へ | 前へ→

【42429】Resetをかけたい ToShiYo 06/9/11(月) 21:40 質問[未読]
【42436】Re:Resetをかけたい パン 06/9/12(火) 7:51 発言[未読]
【42437】Resetをかけたい ToShiYo 06/9/12(火) 8:05 質問[未読]
【42438】Re:Resetをかけたい パン 06/9/12(火) 8:36 発言[未読]
【42446】Re:Resetをかけたい yuu1 06/9/12(火) 13:04 回答[未読]
【42460】Re:Resetをかけたい ToShiYo 06/9/12(火) 18:16 お礼[未読]

【42429】Resetをかけたい
質問  ToShiYo  - 06/9/11(月) 21:40 -

引用なし
パスワード
   マクロのエラーがでたときなどにReset(□のアイコン)をかけますが、
そのリセットをマクロで生かしたいのですが、下のコードの.Resetの
部分でエラーになります。改良するためのアドバイスをお願いします。

With Worksheets("sheet1").Range("F7")
  If .Value <> "" Then
    .Value = ""
    .Reset
  Else
    MsgBox "F7に数字が無い場合は、リセットは出来ません。"
  End If
End With

【42436】Re:Resetをかけたい
発言  パン E-MAIL  - 06/9/12(火) 7:51 -

引用なし
パスワード
   ▼ToShiYo さん:
こんにちは、パンです。
Reset とは、単にエラーが出ても止まらなければ良いのですか?
下のコードでは、エラーが出るのでしょうか?
単純にエラーでも止めたくなければ、on error reseme nextを
Resetの代わりでよいと思われますが.


>マクロのエラーがでたときなどにReset(□のアイコン)をかけますが、
>そのリセットをマクロで生かしたいのですが、下のコードの.Resetの
>部分でエラーになります。改良するためのアドバイスをお願いします。
>
>With Worksheets("sheet1").Range("F7")
>  If .Value <> "" Then
>    .Value = ""
>    .Reset
>  Else
>    MsgBox "F7に数字が無い場合は、リセットは出来ません。"
>  End If
>End With

【42437】Resetをかけたい
質問  ToShiYo  - 06/9/12(火) 8:05 -

引用なし
パスワード
   ▼パン さん:
早速ご返答ありがとうございます。

説明が不十分でした。申し訳ありません。
実はモジュールレベルの変数のリセットをかけたいのです。

プロシージャレベルの変数は一旦プロシジャーレベルは
終了しますが・・・
モジュールレベルの変数はそのまま残りますので、マクロの
リセット(ツールメニューの□をクリックしたような内容)したい
のですが。
よろしくご指導お願いします。

それからご質問に関してですが・・・

>Reset とは、単にエラーが出ても止まらなければ良いのですか?
>下のコードでは、エラーが出るのでしょうか?
エラーがでます。またドットを取ればエラーがでませんが
リセットの役割を果たしません。

>単純にエラーでも止めたくなければ、on error reseme nextを
>Resetの代わりでよいと思われますが.
ありがとうございます。これは理解しました。

【42438】Re:Resetをかけたい
発言  パン E-MAIL  - 06/9/12(火) 8:36 -

引用なし
パスワード
   ▼ToShiYo さん:
パンです。
変数のリセットですが、単にモジュールからでればリセットされませんか?
使ったこと無いので回答になってないですが、リセットしないと不都合があるのでしょうね。


>▼パン さん:
>早速ご返答ありがとうございます。
>
>説明が不十分でした。申し訳ありません。
>実はモジュールレベルの変数のリセットをかけたいのです。
>
>プロシージャレベルの変数は一旦プロシジャーレベルは
>終了しますが・・・
>モジュールレベルの変数はそのまま残りますので、マクロの
>リセット(ツールメニューの□をクリックしたような内容)したい
>のですが。
>よろしくご指導お願いします。
>
>それからご質問に関してですが・・・
>
>>Reset とは、単にエラーが出ても止まらなければ良いのですか?
>>下のコードでは、エラーが出るのでしょうか?
>エラーがでます。またドットを取ればエラーがでませんが
>リセットの役割を果たしません。
>
>>単純にエラーでも止めたくなければ、on error reseme nextを
>>Resetの代わりでよいと思われますが.
>ありがとうございます。これは理解しました。

【42446】Re:Resetをかけたい
回答  yuu1  - 06/9/12(火) 13:04 -

引用なし
パスワード
   こんにちは。
VBE-実行-リセット をマクロで行うには
Application.VBE.CommandBars.FindControl(ID:=228).Execute

場合によっては、単に End ステートメントでいいかもしれません。

【42460】Re:Resetをかけたい
お礼  ToShiYo  - 06/9/12(火) 18:16 -

引用なし
パスワード
   ▼yuu1 さん パンさん:

こんばんは。色々とアドバイスありがとうございました。
何とかEndで、モジュールレベルの変数がリセットできました。
ありがとうございました。
こんな感じで出来ました。

With Worksheets("Sheet1").Range("F7")
  If .Value <> "" Then
    .Value = ""
    .Offset(1).Value = ""
  End
'    Reset…は残念ながら使えませんでした
  Else
    MsgBox "F7に数字がある時に、リセットが出来ます。" & Chr(10) & _
    "…Module Lebelの変数の解除が出来ます。"
  End If
End With

>VBE-実行-リセット をマクロで行うには
>Application.VBE.CommandBars.FindControl(ID:=228).Execute
上のコードも一度使わせていただきます。
>
>場合によっては、単に End ステートメントでいいかもしれません。
はい、これを使わせていただきました。
ありがとうございました。

質問の説明が不十分でご迷惑をおかけしました。

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