
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) このプログラムなんですがsheetにデータを置いて表示できるようにしてありますがsheetに101を 2 2023/02/23 20:13
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Web.Config 構成ファイルのエラー
-
不明なソフトウェア例外(0xe06...
-
NET USE コマンドでエ...
-
Debug Assertion Failed?
-
ホームページビルダーの”全体の...
-
VBAでFormat がうまく使えない
-
VB5のEXEの起動時エラー
-
たまにブルースクリーンが発生...
-
ダウンロードし、解凍すると「C...
-
FileUploadを利用しての画像保存
-
jw cadの名前をつけて保存・・...
-
Mac でバッチ処理ってできます?
-
Lineのkeep保存したPDFデータが...
-
勝手にショートカットのリンク...
-
Tomcat ドキュメントルートの設...
-
C:\\Users\\All Users がエク...
-
数か所に同時保存する方法
-
VBSからリモートでbat実行(WMI)
-
急いでいます。XDWファイルの開...
-
イラストレーターのファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Web.Config 構成ファイルのエラー
-
シェルスクリプトの実行エラー...
-
ホームページビルダーの”全体の...
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
不明なソフトウェア例外(0xe06...
-
C# HttpWebRequestのエラーにつ...
-
VBAで印刷するとエラーになって...
-
W3CのCSS検証エラーについて
-
Excel ファイルに保存すると実...
-
bcpadがうまく実行できないので...
-
LTspiceのTime Stepエラーについて
-
実行時エラー'1004': アプリケ...
-
FileUploadを利用しての画像保存
-
ホームページ転送中に「アクセ...
-
Access ADOで文字列を日付型へi...
-
aspxをサーバーで表示すること...
-
vbaでファイルを開くパス名に変...
-
POV-Ray についての質問です!
おすすめ情報