- ベストアンサー
他のフォルダからユーザーフォームを表示する方法
- デスクトップにある「A処理」フォルダ内のC.xlsmファイルを選択すると、ユーザーフォームが表示されます。
- デスクトップにある「A処理」フォルダ内のB.xlsmファイルを選択すると、ユーザーフォーム(表紙)が表示され、コマンドボタンを押すとC.xlsmファイルが表示されますが、ユーザーフォームは表示されません。
- 「A処理」フォルダ内のファイルからユーザーフォームを表示する方法について教えてください。
- みんなの回答 (12)
- 専門家の回答
関連するQ&A
- 他のブックが開くと同時にユーザーフォームを表したい
Aブックから他のブックが開いた時、ユーザーフォームを表示したいので 次のコードでやってみたが、なぜか表示されません。ご教示お願いします。 AブックのThisworkbookに入力しました。 (1)Private Sub Workbook_Open() A表紙.Show End Sub A表紙にコマンドボタンをつけました。 (2)Private Sub CommandButton96_Click() A表紙.Hide Workbooks.Open Filename:=ThisWorkbook.Path & "\2年施設\計算プログラム.xlsm" Sheets(1).Select End Sub 開いた”改善プログラム”のThisworkbookに入力しました。 Private Sub Workbook_Open() UserForm1.Show End Sub
- ベストアンサー
- Visual Basic
- 隠していたユーザーフォームを再び表示したい
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ブックに戻ったときにユーザーフォーム「表紙」を表示するには どうしたらよろしいでしょうか。よろしくお願いします。
- ベストアンサー
- Visual Basic
- 複数のユーザーフォームをコマンドボタンにて表示・非表示させるには
VBA勉強中のものです。 複数のユーザーフォームをコマンドボタンを使用して画面への表示切替を考えております。 例)ユーザーフォーム1,ユーザーフォーム2,ユーザーフォーム3のそれぞれにコマンドボタン1,コマンドボタン2,コマンドボタン3を作成し、 コマンドボタン1→ユーザーフォーム1を表示 コマンドボタン2→ユーザーフォーム2を表示 コマンドボタン3→ユーザーフォーム3を表示 とするようなことを考えおります。 そこで、下記のようにコードを作成したのでですが,一度表示させたユーザーフォームを再度表示させようとコマンドボタンをクリックしたら、「フォームはすでに表示させているのでモーダル表示はできません」とエラーがでてしまいます。 どなたか、どのようにしたらいいかご教授ねがいます。 サンプルコード) --------------------------------------------------- 'UserForm1のコード Private Sub CommandButton2_Click() Call UserForm2_show UserForm1.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm1.Hide End Sub ---------------------------------------------------- 'UserForm2のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm2.Hide End Sub Private Sub CommandButton3_Click() Call UserForm3_show UserForm2.Hide End Sub ------------------------------------------------------- 'UserForm3のコード Private Sub CommandButton1_Click() Call UserForm1_show UserForm3.Hide End Sub Private Sub CommandButton2_Click() Call UserForm2_show UserForm3.Hide End Sub ------------------------------------------------------------ '標準モジュール コード Sub UserForm1_show() UserForm1.Show End Sub Sub UserForm2_show() UserForm2.Show End Sub Sub UserForm3_show() UserForm3.Show End Sub
- ベストアンサー
- オフィス系ソフト
- 窓からファイルを開くときフォームも表示したい
Excel365solo,windows10を使っています。VBA超初心者です。 現在以下のコードで作業しています。 マクロ記述ブックAに、ユーザーフォームBをつくりコマンドボタンCを設置しました。 Private Sub 基礎データCボタン_Click() Unload Me Workbooks.Open Filename:=ThisWorkbook.Path & "\2年度\計算5月.xlsm" ’このブックが開いた時に、自動で開いた複数のコマンドボタンDで処理 End Sub これを窓から選んでブックを選ぶ方式にしたいです。 Private Sub testボタン_Click() Dim OpenFileName As String ChDir Application.ThisWorkbook.Path & "\2年度" OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xlsm") If OpenFileName <> "False" Then Workbooks.Open OpenFileName Else MsgBox "キャンセルされました" End If End Sub でも、ブック\2年度\計算5月.xlsmは開きますが、ブックが開いた時「複数のコマンドボタンD」が表示されず困っています。これを表示させるようにしたいです。ご教示よろしくお願いします
- ベストアンサー
- Visual Basic
- ユーザーフォームの切り替えについて・・・
UserForm1とUserForm2の2つのユーザーフォームがあります。 UserForm1の中にあるcommandButton1をクリックすると、UserForm2が表示される仕組みになっています。 (ちなみに、UserForm2にもコマンドボタンがあり、クリックするとUserForm1に戻るようになっています) UserForm1の方に、 Private Sub CommandButton1_Click() UserForm2.Show 0 Unload UserForm1 End Sub UserForm2の方に、 Private Sub CommandButton1_Click() UserForm1.Show 0 Unload UserForm2 End Sub と記述してあります。 ところが、それぞれのユーザーフォームには、閉じると同時にブックが閉じるように Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ActiveWorkbook.Save 'ブックを保存 ActiveWorkbook.Close 'ブックを閉じる Application.Quit 'excelを終了 End If End Sub というコードを記述しているため、UserForm1からUserForm2へ移るときにブックが閉じてしまいます。 右上の「×」を押したときだけブックを閉じるようにしたいのですが、どういうコードを書いたらいいのですか? 宜しくお願いします。(*´Д`人)
- 締切済み
- Visual Basic
- マクロ ユーザーフォームが表示されない
いつも回答して頂き、ありがとうございます。 Sub UserForm1() UserForm1.Show End Sub と記述しましたが、エラーが発生し、ユーザーフォームが表示してくれません。 コンパイルエラー:Functionまたは変数が必要です フォームはコマンドボタンを一つ配置し、 Private Sub CommandButton1_Click() Unload UserForm1 End Sub と記述してあるだけです。何が悪いのでしょうか?御教授の程宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ユーザーフォームの描画が遅れるのは?
ExcelのVBAで簡単な処理をしているのですが、困っています。 ユーザーフォームにラベル1つとコマンドボタンを2つ用意しました。 ラベルには「・・・よろしいですか?」と質問形式の文章を 表示し、コマンドボタンにはそれぞれ「OK」と「キャンセル」を 表示してあります。 「OK」のコマンドボタンをクリックされたら、2つのコマンドボタン のvisibleプロパティをfalseにして隠し、ラベルには 「しばらくお待ちください。」と表示してセルの計算をさせます。 私の考えでは、コマンドボタンが消えラベルに「しばらく・・」が 表示されてから計算が行われセル上に計算結果が 表示されるはずなのですが、何故か計算結果が全て表示されてから コマンドボタンが消え、ラベルに「しばらく・・」と表示され 次の命令を実行してしまいます。 何がいけないのかが分かりません。 宜しくお願いいたします。 Private Sub CommandButton1_Click() UserForm1.CommandButton1.Visible=False UserForm1.CommandButton2.Visible=False UserForm1.Label1.Caption="しばらくお待ちください。" '計算のsubへ飛ぶ Call Keisan UserForm1.Label1.Caption="終了しました。" End Sub
- ベストアンサー
- その他MS Office製品
- ファイルを開くと同時にユーザフォームを表示させたい
Excelでファイルを開いたとき、自動的にユーザフォームを表示させるにはどのようにするのでしょう。下のコードを標準モジュールに書きました。「オブジェクトが必要です」のエラーメッセージが出てしまいます。 何を変えればいいのかお教えください。(Excel2002) Sub Auto_Open() UserForm1.Show End Sub
- ベストアンサー
- オフィス系ソフト
- ユーザーフォームを表示されないようにしたい
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 どうかよろしくお願いします。
- ベストアンサー
- Visual Basic
- ユーザーフォームをWorksheet上で表示
数日前、このカテゴリで相談した事の続きです。 以前の相談は、次の通りです。 http://okwave.jp/qa/q8892460.html この相談の中で出来たことは 1 ユーザーフォームを保存終了 2 Worksheet上にボタンを作成、そのボタンをクリックでユーザーフォームを表示 以上のことはできました。 作成したコードは次のとおりです。 '// Private Sub UserForm_Initialize() With Worksheets("Sheet1") TextBox1 = .Cells(1, 1).Value TextBox2 = .Cells(2, 1).Value TextBox3 = .Cells(3, 1).Value TextBox4 = .Cells(4, 1).Value TextBox5 = .Cells(5, 1).Value ).Value End With End Sub Private Sub UserForm_Terminate() With Worksheets("Sheet1") .Cells(1, 1).Value = TextBox1 .Cells(2, 1).Value = TextBox2 .Cells(3, 1).Value = TextBox3 .Cells(4, 1).Value = TextBox4 .Cells(5, 1).Value = TextBox5 End With End Sub '// Private Sub cmdsyuuryo_Click() Unload Me End Sub Private Sub UserForm_Click() Myform.Show vbModeless End Sub そこで質問です。 現在Worksheet上にボタンを作成、クリックしてユーザーフォームを表示しているの を、WorksheetのセルA1(名前を記述してある)をクリックするだけでユーザーフォー ムを表示する方法はありませんか? ユーザーフォームの保存先は「Sheet1」のA1からA5までです。 できれば、この設定で具体的なコードの記述をお願いします。 Excel2013です。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
お礼
masnoskeさま これまで貴重なお時間を割いていただきありがとうございました。コロナ関係でまだ、マクロ試してませんが、このとおりやれば、必ずうまくいくと信じています。本当に心から感謝申し上げます。ありがとうございました。