- ベストアンサー
エクセル起動時にイベントが実行されないようにする方法
- エクセルVBEのThisWorkbook内にイベントを記述し、オープン時に実行されないようにする方法についてまとめました。
- イベントコードの行頭に「’」を付けてメモにし、有効無効を切り替える方法や一括で記号を付けたり省いたりする方法についても紹介しました。
- これにより、行数が増えても手間をかけずにイベントの有効無効を切り替えることができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
コメント行(') を複数行選択し一括して、コメントをon/off することは可能です。 ツールバーに「編集」メニューを表示させればその中に コメント ブロック 非コメント ブロック というのがあります。これで、 (')を付けたり消したりしてくれます。
その他の回答 (3)
- nda23
- ベストアンサー率54% (777/1416)
C言語のように条件コンパイルというのがあります。 #If AA Private Sub Workbook_Open() プログラム本体 End Sub #End If このように記述し、VBAProjectのプロパティで、 「条件付きコンパイル引数」の所でAA=1とすれば プロシージャはコンパイルされ、AA=0とすれば プロシージャはコンパイルされず、存在しない ものとして扱われます。
お礼
Thisworkbookに次を記述後シート名を”販売”に変更。また「条件付きコンパイル引数」の所でAA=1と入力してみましたがThisworkbook内の#If AAの部分が赤い文字になってうまくいきませんでした。自分には難しすぎたようです。ありがとうございました。 #If AA Private Sub Workbook_Open() Sheets("販売").EnableSelection = xlUnlockedCells End Sub #End If
- 2014itochan
- ベストアンサー率17% (13/74)
私は プログラムに手を入れる時と、実行時は下記の方法です Private Sub Workbook_Open() Msg = MsgBox("実行モードですか?", vbYesNo + vbQuestion, "確認") If Msg = vbYes Then else setTimerFunction "", "", "" endif 完成すれば 用無しですが
お礼
これをコピーしてThisworkbookに貼り付けて実行したみたらsetTimerFunctionでコンパイルエラーと表示されます。自分には実力がないためそれをどうしてよいのか理解できず難しすぎました。ありがとうございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
目的がいまいちわかりませんが Private Sub Workbook_Open() if 1=1 Then Sheets("販売").EnableSelection = xlUnlockedCells Sheets("顧客").EnableSelection = xlUnlockedCells Sheets("商品").EnableSelection = xlUnlockedCells End If End Sub で if 1=1 Thenを if 1=2 Thenにするとか Private Sub Workbook_Open() 'Private Sub Test() Sheets("販売").EnableSelection = xlUnlockedCells Sheets("顧客").EnableSelection = xlUnlockedCells Sheets("商品").EnableSelection = xlUnlockedCells End Sub で、Subの前の'を変えるとか Private Sub Workbook_Open() Call Tset End Sub Sub Test() Sheets("販売").EnableSelection = xlUnlockedCells Sheets("顧客").EnableSelection = xlUnlockedCells Sheets("商品").EnableSelection = xlUnlockedCells End Sub で、Callの前に 'を付けるとかではダメでしょうか。
お礼
早々に、又いろいろな方法のご回答ありがとうございました。自分には役立ちそうなので ゆっくりと全部を試してみたいと思います。
お礼
自分にはこの方法が一番わかりやすかったです。ありがとうございました。