• 締切済み

ユーザーフォームの再起動

ブックを開いたと同時に、自動でユーザーフォームをモードレス状態で起動させています。 このマクロ付Excelファイルを使用している開発タブなどを有効にしていないエンドユーザーがフォームを閉じてしまった場合に ファイルを再起動しないで、簡単にユーザーフォームを再表示させる方法はございますか?

みんなの回答

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

常にユーザーフォームを利用する事が前提でしたら、ユーザーフォームのクローズ用の×を使用出来ないようにする。 http://www.moug.net/tech/exvba/0090003.html エクセルシートにボタンを作成するか、メニューを追加してユーザーフォームを呼び出す。

関連するQ&A

  • ユーザーフォームが表示されない

    解る方教えて下さい! ユーザーフォームを作成してマクロを登録して自分のパソコンではエクセルが起動と同時にユーザーフォームが表示されるのですが、社内の他のパソコンでは起動してもユーザーフォームが表示されません! マクロを有効にするかは聞いてくるのですが・・・。 自分のパソコンでは表示されるので原因がわかりません、もし解決方法をご存知の方がおられましたら教えて頂けますでしょうか?

  • 隠していたユーザーフォームを再び表示したい

    ExcelVBA をExcel2007で苦戦している初心者です。 マクロ記載のAブックとBブックを使っています。 Aブックのユーザーフォーム「表紙」にあるボタンをクリックして Private Sub CommandButton11_Click() 表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\改善案.xlsm" Sheets(1).Select End Sub Bブック(改善案)に飛び、作業後これを閉じ、Aブックに戻したいです。 Aブックは、まだ閉じてはいません。 同時に、ユーザーフォーム「表紙」を再表示したいです。 Private Sub CommandButton2_Click() Unload UserForm1 Application.DisplayAlerts = False ThisWorkbook.Close Application.DisplayAlerts = True 表紙.show End Sub すると次のエラーが表示され 「コンパイルエラー 変数が定義されていません」 表紙.showの表紙が反転表示されます。 Aブックに戻ったときにユーザーフォーム「表紙」を表示するには どうしたらよろしいでしょうか。よろしくお願いします。

  • マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。

    エクセル2003VBAで、マクロ実行時にユーザーフォームを モードレス表示して、そのユーザーフォームにラベル「マクロ実行中です・・・」を貼り付けています。 しかし、処理が追いついていないのか、そのラベルが表示されません。 ユーザーフォームにはコードを記述していません。コードは以下のみです。 UserForm1.Show vbModeless テキストをTrueにしてからマクロ処理のようなコードがあるのでしょうか? お手数をおかけしますが、解決方法をご存知の方よろしくお願いいたします。

  • ユーザーフォームを起動しながらタイマーのマクロを動かしたい

    現在、ユーザーフォームで入力したデータを各セルに入れてくVBAを書いています。これ自体は問題ないのですが、同時にタイマーのマクロを起動させたいのですが書き方がさっぱりわかりません。 ネットで調べて、タイマーのマクロは書けました。 タイマーのマクロというのは、特定の時間になったらユーザーフォームで打ちこんだデータのブックを送付して特定の宛先にメールするというマクロです。 このタイマーのマクロ自体は普通に動くのですが、設定した時間にユーザーフォームが開かれてるとマクロが動いてくれません。 そしてユーザーフォームは常に開かれている状態なんです。 希望としてはユーザーフォームが開かれている(入力している)時でも、はじめにメッセージボックスなどで「今からメール送信します。しばらくお待ちください。」などとメッセージを出して現状まで入力済みのデータ(ブックを)メールを送信させることが出来るのが希望です。 タイマーのマクロはWorkbook_Openに 指定時刻 = TimeValue("07:30:00") 待ち時間 = TimeValue("00:01:00") Application.OnTime TimeValue(指定時刻), "SendMail", TimeValue(待ち時間)   Call 次のメール送信 みたいな感じで書いてます。 ユーザーフォームが開いている状態でタイマーのマクロ(他のマクロ)を動かすのって無理なんですか? ちなみに、不定期なタイマーの方法がわからなかったので、それもわかれば教えていただけませんか。 一定時間感覚のタイマーはあったのですが、不定期なタイマーのマクロが調べても見つからず… タイマーのマクロを何個も書いてなんとか、一つのタイマー処理が終わったら次のタイマーマクロを呼び出すって方法を取りました。 もし、もっと簡単な書き方などあったらアドバイスお願いします。

  • エクセルVBA ユーザーフォームとカレントファイル

    ある一つのエクセルファイルで、ユーザーフォームを用いてマクロをつくりました。 このファイルを開いた状態で、かつ、このユーザーフォームを実行した状態で、これとは別に開いている他のエクセルファイル(カレント状態)にこのユーザーフォームのマクロを実行させたいです。 以前、望まないのに、他のファイルに実行された記憶があるのですが、2010のエクセルに変えたせいか、そのようなことができません。 ユーザーフォームにどのような設定をしたらよいか教えていただきたいです。

  • エクセルVBAの質問です

    エクセルユーザーフォームをモードレスで起動した状態で、セルを手動で操作しユーザーフォームをクリックしたらマクロを実行する。 ということをしたいです。 順を追って書くと (1)ユーザーフォームを起動(モードレスで) (2)A1セルに文字を直接打ち込む(ユーザーフォームが選択されていない状態) (3)ユーザーフォームをクリック(ユーザーフォームを選択)したら指定したマクロを実行 この(3)のところができません。(というか考え方が分からず・・・) 分かりにくい質問で申し訳ございませんが、アドバイスの程よろしくお願いします。 (ちなみにエクセル2003を使用しています。)

  • エクセルのユーザーフォームについて

    エクセルマクロのユーザーフォームのテキストボックスに セルの値を表示する方法で質問です。 ユーザーフォームを表示するとその時点での セルの値はテキストボックスに表示されているのですが ユーザーフォームを表示したまま 別のブックのセルを選んだ際に そのセルの内容がテキストボックスに表示されるようにしたいです。 ボタンや、なにかをするわけではなく 自分で任意のセルを選択したら、という事です。 ユーザーフォームには selectionchange などがないのでどうすれば良いかわかりません。 宜しくお願いします。

  • ユーザーフォームについて

    エクセル2002です。 ユーザーフォーム内のテキストボックスを使用して、 (1)A1のセルに1と入力されている状態でマクロを起動した場合、 (2)ユーザーフォーム内のテキストボックスには2と表示される (3)ユーザーフォーム内のボタンを押すと、A2のセルに2と入力される。 このような流れで、A列のデータ最終行に番号をふっていきたいです。 (A列のデータ最終行がA30なら、A31に31と番号をふる) ユーザーフォームのテキストボックスとボタンは作ってあるのですが、 それぞれに入れるコードを教えていただけないでしょうか。 よろしくお願いします。

  • ユーザーフォームを表示されないようにしたい

    Vista excel2007 でマクロ作成中の超初心者です。 A、B、Cのブックがあります。Bブックのみマクロをワークシートに貼り付けています。 1)Aブック(マクロ記録用)の中にある、Aコマンドボタンを押すと  BブックのBシートにジャンプします。ジャンプと同時に、Bユーザーフォームを 表示しています。 2)そしてBシートには、フォームコントロールを貼り付けており、ここをクリックするとCブックCシートに飛びます。 3)ところが、CシートにはBユーザーフォームが残ったままです。このフォームを  表示されないようにしたいのです。 4)Bシートのフォームコントロールには、次のコード記述をしてあります。       Sub Cブック Cシートへ() Dim wb As Workbook Dim ws As Worksheet Dim sh As Worksheet Dim i As Long ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path On Error Resume Next '開いて作業中の場合。 Set wb = Workbooks("CCC.xls") On Error GoTo 0 If wb Is Nothing Then Set wb = Workbooks.Open(ThisWorkbook.Path & "\CCC.xls") End If Worksheets(1).Select End Sub どうかよろしくお願いします。 

  • ユーザフォームをどの画面からでもショートカットキーで呼ぶ出すには

    ユーザフォームをどのActiveブックからでもショートカットキーでユーザーフォーム6を呼ぶ出せるようにしたいのですが、どうしたらよいでしょうか。 下記のマクロでは全く反応がありません。 初心者の質問で申し訳ないのですが、知識をお持ちの方のお力をお借りしたく、投稿させていただきました。宜しくお願いいたします。 Sub ファイル検索 Macro () ' Keyboard Shortcut: Ctrl+q' UserForm6.Show vbModeless End Sub

専門家に質問してみよう