• ベストアンサー

エクセル2003 ユーザーフォーム、マルチページのページ選択の記述

いつもこちらで勉強させていただいております。 エクセルVBAでユーザーフォームを作成しました。 フォームにはマルチページが有り、ページ数は3枚あります。 で、質問なのですが、フォームを読み込んだときに ページを必ず1ページを表示するようにしたいのですが コードの書き方が判りません。 フォーム作成でページ1を選択しておけば、1ページ目が 表に来るのですが、コードで処理しておけないかなと 思いましてご質問させていただきました。 フォームオブジェクト名:UesrForm1 ページオブジェクト名:Page1 となっております

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

Private Sub UserForm_Initialize()   Me.MultiPage1.Value = 0 End Sub > ページオブジェクト名:Page1 これは間違いありませんか? 上記コードは ページオブジェクト名が MultiPage1 の場合です。

tmgolf
質問者

お礼

ご返答ありがとうございます。 オブジェクトの階層が理解できていませんでした。 UserForm1>MultiPage1 になっているんですね。 UserForm1>Pages(コレクション) だと思っていました。 workbook>worksheetsと同じ様に思っていました。 マルチページの選択に valueを使うとは全く知りませんでした。 勉強になります。ありがとうございます。 おかげさまで、問題点についてクリアすることができました。 ありがとうございます。

その他の回答 (1)

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

#1でご回答は済んでいますが エクセルVBAで 、 UserFormを1つ挿入 そのUserForm上に1つのテキストボックスとマルチページを1つ張り付け。 右クリックして、「新しいページ」をクリックして、ページを3つにした。 Private Sub UserForm_Initialize() s = Array("Page1", "Page2", "Page3") MsgBox "フォームのInitialize実行" With MultiPage1 .Value = 0 End With TextBox1.Text = s(MultiPage1.Value) & "が選択状態" End Sub として実行すると,テキストボックスに「Page1が選択状態」、 .Value = 1 として実行すると「Page2が選択状態」 になることを確認しました。

tmgolf
質問者

お礼

お返事ありがとうございます。 おかげさまで無事解決しました。

関連するQ&A

専門家に質問してみよう