• ベストアンサー

エクセルVBAでUserformをコードで開く

エクセルVBAでUserformをコードで開くことができますか。 アクセスのAutoexecようにフォームから表示できますか。 以上、2点について、教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>Userformをコードで開くことができますか。 Userform.show と言うことでしょうか? http://www.serpress.co.jp/excel/vba016.html >Autoexecようにフォームから表示できますか。 フォームからと言う意味が解りませんが・・・。 自動実行でしょうか? Auto_Open()とWorkbook_Open()の2つのイベントがあります。 http://mugicyan.gooside.com/excel/vba_times/lesson_01_01.html http://office.microsoft.com/ja-jp/excel/HA010346281041.aspx

mat_mot
質問者

お礼

非常に判りやすく、ずばりの回答有難うございました。 これからもよろしくお願いします。

関連するQ&A

  • EXCEL VBA UserFormで困っています。

    EXCEL VBA UserFormで困っています。 VBAプログラミングで以下のような現象が起こります。 開発環境  WinXP , EXCEL2003 ブックを起動するとメニューが表示され、そこからボタンを押すとuserform1が表示されるというプログラムなんですが、そのボタンを押してuserform1を起動しようとすると『問題が発生したため、  Microsoft Excel Windowsを終了します。・・・ エラー報告を送信する 送信しない』のメッセージが出て起動できない。 UserForm1.Showのステップで一旦止めてステップモードで続行すると正常に動作します。 過去に似た質問を見つけ、そのアドバイスを元に以下を試してみました。 http://okwave.jp/qa/q2001805.html ・エラーの発生行の特定 userform1.showの前に、userform1.label.visible=falseのように、表示、非表示を切り替える命令を出しており、どうやらその表示命令の行でつまづいている事がわかりました。 表示命令を全て消去し実行したところ、現在までは問題なく起動できています。 ・on timeメソッドで時間差をつける ラベルやボタンの表示、非表示命令行をまとめて、 Application.OnTime Now + TimeValue("00:00:01"), "ラベルボタン表示設定" userform1.show といった形で時間差をつけてみました。 結果として、userform1自体は立ち上がるようになったのですが、時間差で実行される"ラベルボタン表示設定"の実行時に「オートメーションエラーです。起動されたオブジェクトはクライアントから切断されました。」と出てくるようになってしまいました。 ラベルはまだ良いのですが、コマンドボタンの表示、非表示は、誤操作を防ぐ手段として非常に重要です。なんとかエラーを出さずにコード通りに起動する方法はありませんでしょうか。

  • VBAでのUSERFORMの表示に関して

    現在VBAでUSERFORMを使うプログラムを作成中です。 ボタンやボックスなどを設置してコードを書いてという作業は良いのですが、 このプログラムを実践で使用する時に毎回以下の手順を踏んでいます。 1.該当のエクセルファイルを開く 2,AltとF11を押す 3.左側のVBAプロジェクトからフォームの中の使用したいフォームをクリック 4.F5をクリック ここまでしてやっと作成したプログラムを走らせる事ができますが、 毎回毎回上記の1から4の作業が必要な訳ではないですよね? エクセルファイルを開いた瞬間に希望するフォームが出て、 すぐに作業を実行するにはどうしたらよいのでしょうか?

  • アクセスからエクセルのUserForm1を表示させたい

    オフィス2003です。 アクセスのフォーム上にコマンドボタンを置き、 クリックイベントでエクセル上に作成してある UserForm1を表示させたいです。 案の定 Sub CB_Click() Excel.UserForm1.Show End Sub ではだめでした。 どういう方法がありますか? よろしくお願いします。

  • エクセルVBA コントロールに変数を入れたい

    エクセルvbaです。 UserForm1.テキスト1.Valueを UserForms("UserForm1").Controls("テキスト1").Value のような形式でコードを書くことは可能でしょうか? UserForms("UserForm1").Controls("テキスト1").Value だとエラーになってしまいます。 accessでは Forms("Form1").Controls(“テキスト1”).Value と言う形式が可能ですが、エクセルでは不可能なのでしょうか? エクセルでは Forms("Form1").Controls(“テキスト1”).Value UserForm ("Form1").Controls(“テキスト1”).Value でもエラーになってしまいます。 UserForm1.Controls("テキスト1").Valueは コードが通りましたが、フォームの部分に変数を入れる事ができません。 ご教授よろしくお願いします。

  • エクセルのマクロでUserForm1を作って下記のようなコードを実行す

    エクセルのマクロでUserForm1を作って下記のようなコードを実行すると UserForm1を一瞬だけ表示して消えるのかと思ったのですが、表示されたまま消えません。 Unload UserForm1のところを UserForm1.Hideにしても同じです。 表示されたUserForm1を閉じるにはどうしたらよいですか。 Sub test() UserForm1.Show Unload UserForm1 End Sub

  • エクセル2003VBAにて、

    エクセル2003VBAにて、 ユーザーフォームのラベルへ処理状況を表示したいのですが、 マクロ実行中はユーザーフォームに処理が渡されないのか以下のコードが反映されません。 そこでDoEventsを入れてみたのですが、 やっぱりラベルに以下の文字が反映されません。 どなたかよい解決方法を御存じないでしょうか? 教えてください。よろしくお願いいたします。 DoEvents UserForm1.Label9.Caption = "行数確認中です..."

  • EXCEL VBA コードをスマートに

    EXCEL VBAのフォームで、 テキストボックスの値をあらかじめTextBox1に入力しておくコードを 書いてみました。 Private Sub UserForm_Initialize() TextBox1.Value = Cells(4, 1) & Cells(4, 3) & Cells(4, 5) & Cells(4, 7) & Cells(6, 1) & Cells(6, 3) & Cells(6, 5) & Cells(6, 7)Cells(8, 1) & Cells(8, 3) & Cells(8, 5) & Cells(8, 7).Value End Sub 実際はもっと長いです・・・ どうしたら、スマートに記述できますか? お知恵をお貸しください!!!

  • VBAのUserFormのイベント

    VBAの公式問題集の練習をしているのですが、分からないことがあるので質問致します。 UserFormのイベントを使ってコードにマクロを作成したのですが、ユーザーフォームの実行を押しても、コンパイルエラーが表示されてしまいます。 具体的なマクロの式ですが、 Option Explicit Private Sub UserForm_Initialize() Dim i As Long TextBox1.Text = "UserFormの初期化" For i = 1 To 5 Listbox1.AddItem "Sample" & i Next i Listbox1.ListIndex = 2 End Sub です。 エラーには、コンパイルエラー: TextBox1が表示され、変数が定義されていませんと出ます。 どのようにしたらいいのでしょうか。 どなたかお分かりになるかたがいらっしゃいましたら教えて下さい。 お願いします。

  • エクセルVBA UserFormで選択リスト

    VBAは多少はかじりましたが、UserFormを使うのは初めてです。これまではDialogSheetでやってました。 しかし今回は、DialogSheetでは大分類小分類に分けたリストはできそうもないのでUserFormならマルチページ機能があるのでなんとかなるのではと思いました。 やりたいことは約千種類あるデータを、まず大分類のカテゴリーに10区分し、マルチページとします。 大分類の各ページをさらにマルチページで小区分し、各5区分とします。都合10*5で50ページとなります。 小区分の各ページにそれぞれリストボックスを配置し、エクセルシートのデータリストからデータを表示し、エクセル使用者が選択できるようにします。 こんなことはマルチページで可能でしょうか?それともタブストリップですか? 参考となるコードなどもご教示いただけると幸いです。 よろしくお願いします。

  • エクセルVBAでUserFormを起動した時

    エクセルVBAでUserFormを起動した時に自動的に実行される動作を記述したいのですが、 どうすればよいでしょうか? Private Sub UserForm1_Load() End Sub だとだめでしょうか?

専門家に質問してみよう