• 締切済み

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

エクセル97でのユーザーフォームについて教えて下さい (1) まず最初にユーザフォームを作成しました。 (2) エクセルオープン時にメニューバーにボタンを追加し、そのボタンを押すと   ユーザーフォームが表示されてくるという風に考えました。 ユーザーフォームは表示されるのですが、フォームに配置されているボタン等を 押してもまったく利きません(本来はメッセージが表示される) アクティブにはなっているようなのですが... Private Sub UserForm_Activate() End Sub 上のアクティブになった時に何か処理をもりこまなければいけないのでしょうか? 初歩的な質問で申し訳ないのですが、宜しくお願い致します。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

質問に書かれていることを実現?してみたら下のようになりました。 >(2)エクセルオープン時にメニューバーにボタンを追加し、そのボタンを押すと・・・ これの『メニューバーにボタンを追加』がどのメニューバーに追加したのか、ユーザー設定なのか良く分かりませんでした。 下は、   Workbook_Open でオープン時にコマンドバーにボタンを追加しています。   そのボタンを押すとUserForm1が表示されます。   UserForm1のボタンを押すとメッセージボックスが表示されます。    質問どうりではないかもしれませんが、参考にして下さい。(当方、Excel97です) ThisWorkbookのコードウインドウ ↓ Private Sub Workbook_Open()   Dim myCBar As CommandBar 'コマンドバー   Dim myCBarButton As CommandBarButton 'コマンドボタン   Set myCBar = Application.CommandBars("Worksheet Menu Bar")   With myCBar     .Reset     Set myCBarButton = .Controls.Add(msoControlButton, temporary:=True)     With myCBarButton       .FaceId = 584       .Caption = "フォーム表示"       .OnAction = "フォーム表示テスト"     End With   End With End Sub 標準モジュールに貼り付け ↓ Sub フォーム表示テスト()   UserForm1.Show End Sub UserForm1のコードウインドウに貼り付け(CommandButton1が1つあるとします) ↓ Private Sub CommandButton1_Click()   MsgBox "フォームのボタンを押しました" End Sub

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

ユーザーフォームを挿入し、VBProjectの ThisWorkbookをクリックして、WorkbookのOpenイベントを選び Private Sub Workbook_Open() UserForm1.Show End Sub --- UserForm1をクリックしてCommandButton1のClickイベントを選び Private Sub CommandButton1_Click() MsgBox "ボタンが押された" End Sub ---- 一旦Bookを保存して、開くとUserformが表示され、 ボタンをクリックするとMsgBoxが表示されました。 エクセル2000ですが。 Private Sub UserForm_Activate() End Subは不要で CommandButton1_Click()のところで処理を記述しては どうですか。

すると、全ての回答が全文表示されます。
  • p-21
  • ベストアンサー率20% (265/1269)
回答No.1

状況がイマイチ良くわかりませんが ボタンを押すとファームが出現で良いのでしょうか? Sub macro1() Userform1.Show End sub ではないでしょうか? ブック起動時にファーム出現であれば This Workbookのところで Private Sub Workbook_Open() Userform1.Show End Sub となりますが (97はあまり使わないので2000のものですが ブックオープンイベントでは少し違うかもしれません)

すると、全ての回答が全文表示されます。

関連するQ&A