• ベストアンサー

マクロの有効と無効

こんばんは、VBA初心者です。 教えてください。 ユーザーフォームを使ってセルに数値を入力する、という物を作っているのですが、 ファイルを開くときにマクロを有効にするか、無効にするか選択をしたいです。 有効にした場合はユーザーフォームを表示し、 無効にした場合は普通にエクセルのファイルを開く…という風にしたいのですが 良い方法があれば教えてください。 超初心者なので、この説明で伝わるか不安ですがよろしくお願いします。

  • Lj0NA
  • お礼率100% (5/5)

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>ファイルを開くときにマクロを有効にするか、無効にするか選択をしたい はて? どうして「マクロを」有効/無効にするという発想になったのでしょうか。 ごくシンプルには、例えば 標準モジュール: sub Auto_Open()  if msgbox("マクロを使いますか?", vbyesno) = vbyes then userform1.show end sub などのようにして、「はい」ならそのままユーザーフォームを表示する、「いいえ」なら静かに終了するといった具合に「マクロで制御」してやれば十分に思われます。 何がシタイのか何を困っているのか、ちょこちょこっと思い付き補足じゃなく、詳しい状況を添えて新しいご相談としてしっかり投稿し直してみて下さい。

Lj0NA
質問者

お礼

ありがとうございます。 試してみます。 何もわからないまま作らなくては行けなかったので、思考が色々飛んでます…。 また何かあったらよろしくお願いします。

その他の回答 (1)

noname#212067
noname#212067
回答No.2

セキュリティ設定を中にすればファイルを開くとき聞いてきますよ

Lj0NA
質問者

お礼

ありがとうございます。 試してみますね。

関連するQ&A

  • Excel マクロ無効化

    Micorsoft Excelで、VBAで以下のように指定のExcelファイルのマクロを無効化したいのですが、やりかたを調べてもよくわかりません。できないのでしょうか?アドバイスいただけると幸いです。 具体的にやりたいこと (1)マクロ有効にしたExcelファイルのVBAから他のExcelファイルをマクロ無効で開く (2)マクロ有効にしたExcelファイルのVBAで、開いているExcelファイルのマクロを無効に設定する。(有効だったものを無効にする)

  • [エクセル]マクロを無効にした場合、読み取り専用でファイルを開きたいです

    エクセルのマクロを使い初めの初心者です。 セルに入れた関数をユーザーが消したりしないために、マクロで関数の入ったセルにロックがかかった状態でファイルを開くようにしているのですが、マクロを無効にしてファイルを開くと、ロックがかかっていない状態になってしまいます。 マクロを無効にすると読み取り専用でファイルが開くような処理は可能でしょうか? よろしくお願いします。

  • マクロ無効で開くとエラーメッセージが出ます

    マクロ付のExcelファイルを(マクロを動作させずに)編集したくて、マクロのセキュリティを「中」にした上で「マクロを無効」を選択してファイルオープンしても、セルの値を変更するたびに「このプロジェクトのマクロは無効に設定されています」のエラーメッセージが出てきます。 1つ1つのセルを変更するたびに出てくるのでかなり煩わしいです・・・ このメッセージを出力させずに、マクロ付のファイルをマクロ無効で編集するには、他に何か設定が必要なのでしょうか? もしくは、マクロを有効でファイルオープンしても、シート上のコントロールを選択することは可能でしょうか? (例えばシート上にあるボタンのプロパティなどを見たい場合に、ボタンを選択しようと思っても、マクロが有効だと「クリック」する動作しかできなくなりますが、それを「選択」することは可能でしょうか?) よろしくお願いします。

  • VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保

    VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保存ってできますか?? FileFilter:="エクセルファイル(*.xlsx),*.xlsx" として保存すると、保存はできるのですが、開くことができません。 VBA初心者です。よろしくお願いします。

  • ユーザーフォームでセルを選択

    エクセルのVBAでユーザーフォームに数値を入力してセルを選択することは可能でしょうか? 例えば、列はAに固定していいのですが、ユーザーフォームに「123」と入力してボタンを押せば「A123」のセルがアクティブになるようなユーザーフォームを作成したいのですが方法がわかりません。 よろしくお願いします。

  • マクロの有効無効

    そんなことを考えるだけ時間の無駄(本末転倒)の気がしないでもないですが ユーザが使ってるExcelでマクロが有効なのか無効なのかを判断する方法ってあるんでしょうか? ※ Excel開いて設定確認するんではなくて他のプログラムなどで知る方法があるか   という意味です マクロ作成者はユーザ環境確認できず 使用者もExcelに詳しい人ではないといった状況前提 現在漠然とした形で考えているのがマクロで適当なファイルを作成するようにしておいて 他のプログラムからExcelでそのファイルを開き一定時間内にファイルが作成されなかったら マクロ無効になってるといった形でできるかな  と思っているんですが他に方法あるでしょうか

  • マクロを無効にしてしまいました。

    エクセル(office 2000)で自分でマクロを組んで、デ-タ-整理をしていたのですが、そのファイルを開く時、一時的にマクロを無効にするで開いた為か? マクロを働かせると、マクロは無効に設定されていますとメッセ-ジが表示され、非常に困っています。 再度、マクロを有効にするには、どの様にすれば良いのでしょうか? エクセルの知識は、初心者程度なので(マクロに関する事も我流です)出来るだけ簡単に教えて欲しいのですが? 宜しくお願い致します。

  • エクセルのマクロについて

    マクロ初心者です。 エクセルであるセルの数値に100掛けた結果を同じセルに表示させたい場合はどういったVBAを使えばいいのでしょう。他のセルに一旦100掛けた数字を入れて、また元のセルに戻すという事は無しで・・ 例えば「0.25」をいうセルにマクロを流して「25.00」(小数点以下の桁数にはこだわりません)に変えたい場合です。

  • シートを保護したらマクロがきかない?

    マクロもクエリも全くの初心者です。 仕事で他人が作成したエクセルデータを加工しなければなりません エクセルです 例えばSheet1上で、  セルA1 マクロ設定されており、クリックするとUserFormウィンドウが      開き、入力値を選択できるようになっている      →保護しておきたい  セルB1 文字列が入力されている      →保護の対象外にしたい。  セルC1 数式が入力されている      →保護しておきたい という状況で、 まずやってみた方法は「セルの書式設定」→「ロック解除」などを した上でシート保護をかけたのですが、セルA1のマクロも無効に なってしまいます。 個人的には入力規則等で対応できるかと思うのですが、 マクロの解除は不可能と(会社から)指示がありました。 マクロは不勉強ですので、何とか簡単に変更したいものなのですが やはり VBAコマンドでの(Activesheet.Unprotect?) 変更が必要になるのでしょうか? この機会にVBAに触れておくべきと考え質問さえていただきました。 そもそもアラ40の私に理解できうるものか不安を感じますが・・(汗) EXCELは2007だったと思います。(Verによって異なりますか?) 大変無粋ですが、初心者向きにご回答いただければ幸いですm(__)m

  • VBAでマクロ実行中はExcelのマウスやキーボードを使ってセル選択などを無効にしたい

    お世話になります。 VBAで作成しております。 VBAでマクロ実行中は、Excelのマウスやキーボードを使ってセル選択などを無効にしたいのですが、どのようにすればよいでしょうか? ※Application.ScreenUpdatingはただ、画面の更新は止まっているのですが、セル選択などは裏で実行されているみたいで。。。 以上よろしくお願いします。

専門家に質問してみよう