
Excel VBA(Excel2000)について質問です。
セルの入力規則を設定するvalidationプロパティ設定時に表記エラーが起こるのですが、どういった原因なのか知りたいです。
そのエラーを起こす手順ですが、
1. 新規ブックを作成する
2. Visual Basic Editorを使用して、Sheet1に以下のコードを埋めこむ:
Private Sub Worksheet_Activate()
With Cells(1, 1).Validation
.Delete
.Add Type:=xlValidateList, Formula1:="test1,test2"
End With
End Sub
3. Sheet1 ←→ Sheet2 or Sheet3をタブで切り替える
→ 問題なく作動する
4. Sheet1の任意の場所に、コントロール ツールボックスのコマンドボタンを配置する
5. Sheet1 ←→ Sheet2 or Sheet3をタブで切り替える
→ これも問題なく作動する
6. 4.で配置したコマンドボタンを押す
7. Sheet1 ←→ Sheet2 or Sheet3をタブで切り替える
→ 表題のエラーが発生する
といったように、ボタンやチェックボックス等を配置したシートにおいてvalidation.addメソッドを使用すると、何故かエラーが発生します。この発生パターンが見つかるまでずっと悩んでいました。
今現在は、一応、他の方法で回避できてはいますが、どうしてこのエラーが出るのかはっきりしたいので、ご存知の方はどうぞご指導お願い致します。
No.1ベストアンサー
- 回答日時:
> 6. 4.で配置したコマンドボタンを押す
この操作でコマンドボタンがアクティブ状態になってしまうのが原因のようですね。これはチェックボックスとかリストボックス等でも起こると思います。
最も簡単な対処方法としては、Cells(1,1).SelectとかRange("A1").SelectをWith Cells(1, 1).Validation の前に記述し、特定のセルをアクティブにする方法でしょう。
早速のご回答、どうもありがとうございます。
> この操作でコマンドボタンがアクティブ状態になってしまうのが原因のようですね。これはチェックボックスとかリストボックス等でも起こると思います。
なるほど、そういうことがあるのですか。
私が手順で挙げたようなパターンは良くあると思い、他にも同じ現象で困っている人がいるのではないかと、色々なサイトを探しまわったのですが、ヒントが全然見つかりませんでした。
> 最も簡単な対処方法としては、Cells(1,1).SelectとかRange("A1").SelectをWith Cells(1, 1).Validation の前に記述し、特定のセルをアクティブにする方法でしょう。
実は私の回避策も、該当するセルをSelectし、With Selection.Validation...End Withのようにしています。
とにかく、頂いた回答で大方すっきり致しました。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
不明なソフトウェア例外(0xe06...
-
CreateObjectでエラー
-
NET USE コマンドでエ...
-
Office Component Suite
-
bcpadがうまく実行できないので...
-
Subversionのリポジトリでが壊...
-
VB5のEXEの起動時エラー
-
UWSC初心者です。
-
ACCESS VBAのOpenForm書き方
-
シェルスクリプトの実行エラー...
-
xmlドキュメントから別拡張子で...
-
SDHCカードの初期不良を調べ方...
-
Thunderbirdのプロファイルが読...
-
勝手にショートカットのリンク...
-
急いでいます。XDWファイルの開...
-
Googleドライブにインターネッ...
-
jw cadの名前をつけて保存・・...
-
ショートカットファイルが開け...
-
レジストリ変更が反映されません!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Web.Config 構成ファイルのエラー
-
不明なソフトウェア例外(0xe06...
-
シェルスクリプトの実行エラー...
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
Excel ファイルに保存すると実...
-
図形のクリアで実行時の1004エ...
-
ACCESS VBAのOpenForm書き方
-
VBAで印刷するとエラーになって...
-
POV-Ray についての質問です!
-
ホームページビルダーの”全体の...
-
FFFTPで更新中にエラー
-
bcpadがうまく実行できないので...
-
実行時エラー'1004': アプリケ...
-
なぜかブルースクリーンに…
-
FileSystemObjectのオーバーフロー
-
ダウンロードしたのはCDに焼...
-
Eclipseでのエラー検出の機能に...
-
cvRectangleの使用時に以下のエ...
おすすめ情報