• ベストアンサー

マルチページのタブを切り替えたとき・・

エクセル2002使用です。 VBAで、ユーザーフォーム1、ユーザーフォーム2の2つのフォームを作り、ユーザーフォーム1内にマルチページ(page1、page2)をつくりました。マルチページのpage1からpage2にタブを切り替えた時に、ユーザーフォーム2を表示させたいのですが、うまくいきません。 UserForm1のモジュールに記述しています。 Private Sub MultiPage2_Change() Load UserForm2 With UserForm2 .StartUpPosition = 0 .Top = 50 .Left = 20 .Show End With End Sub 原因がわからず困ってます。 よろしくお願い致します。

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

  • ベストアンサー
noname#240783
noname#240783
回答No.1

ふーむ、MultiPage2というオブジェクトは無いのではないですか? MultiPage1オブジェクトに付属するPage1,Page2というところを 勘違いされているようです。 MultiPage1のクリックイベントを拾って、 引数Indexでどのページが押されたか判別して 処理分岐、というのが手っ取り早いかと。 Page1は0、Page2は1 がIndexに渡されます。 Private Sub MultiPage1_Click(ByVal Index As Long)  'Page2がクリックされた場合  If Index = 1 Then   Load UserForm2   With UserForm2    .StartUpPosition = 0    .Top = 50    .Left = 20    .Show   End With  End If End Sub 注)上記コードには文の先頭に全角スペース入っていますのでコピペ時にはご注意を!

ken123
質問者

お礼

chipmogura様ありがとうございます。 上手くいきました。 page2はオブジェクトではないのですか。。。。 プロパティウインドのオブジェクト名にはpage2と出てるので、MultiPage2とすっかり思い込んでいたようです。(まだ、いまいち理解できませんが・・・がんばって調べます) 本当にありがとうございました。 今後ともよろしくお願いします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

私がやると旨く行くようですが。 Form1のPage1の状態でPage2のタブををクリックするとForm2が飛び出てきます。Page2の状態でPage1のタブををクリックするとForm2が飛び出てきます >うまくいきません。 とは、どう言う風に?。

ken123
質問者

お礼

imogasi様早速のお返事ありがとうございました。 page2のタブをクリックしてもForm2が出てきませんでした。今回は、#1さんの方法でさせていただきました。 多分、初心者なので、最初のマルチページの設定の勘違いをしているのかもしれません。 ありがとうございました。 今後ともよろしくお願いします。

関連するQ&A

専門家に質問してみよう