Excel VBA質問箱 IV

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

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


9 / 13327 ツリー ←次へ | 前へ→

【80933】2回に1回エラーが出る さと 19/6/23(日) 19:23 質問[未読]

【80977】Re:2回に1回エラーが出る γ 19/6/27(木) 22:10 回答[未読]
【80985】Re:2回に1回エラーが出る さと 19/7/1(月) 12:36 お礼[未読]

【80977】Re:2回に1回エラーが出る
回答  γ  - 19/6/27(木) 22:10 -

引用なし
パスワード
   既にコメントをいただいていて、重複になって恐縮です。

質問者さん、コードの提示ご苦労さまでした。

変数宣言の位置というよりも
> a = Selection.Rows.Count
> b = Selection.Columns.Count
という命令よりも前に、
.Range("B2").CurrentRegion.Offset(2, 1).Select
を実行していることが重要です。
「コードのなかで選択(Selectionを限定)」していることがポイントです。

つまり、
> ■19/6/23(日) 19:23のコードでは、
> 無造作に
>  a = Selection.Rows.Count
>  b = Selection.Columns.Count
> で始まっている。
> そのとき何が選択されているか分かったものじゃない。
という状態から脱したことが大きいのです。
プロシージャの開始時点における冗長性(可能性が多いこと)がなくなったことが大きいのです。

----------
なお、変数宣言の位置について補足すれば、
実行前であれば、
・使用の直前であっても
・プロシージャーの先頭に纏めても
動作に影響はありません。誤解無きよう。

【80985】Re:2回に1回エラーが出る
お礼  さと  - 19/7/1(月) 12:36 -

引用なし
パスワード
   よろずやさん、γさん

ありがとうございました。
原因が分かってすっきりしました。

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