• ベストアンサー

マルチページで現在開いているページの確認

Excelユーザーフォームにマルチページを貼り付けて ページを5枚作成しました。 (Pag1,PAge2,Page3,Page4,Page5) ページにはそれぞれボタンが貼り付けてあります。 ボタンを押すとfunctionが起動します。 ここでfunctuinのなかで今Pageの1,2,3,4,5のどれを選択しているか確認したいのですが どのようなロジックになりますか?

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

  • ベストアンサー
  • MasMo
  • ベストアンサー率45% (5/11)
回答No.2

>ボタン1だからページ1でなく >現在どこのページからよばれたか、プログラムロジックとして知りたいのです。 「呼ばれた」というのはどういうイベントなのでしょうか? 普通はボタンなどが各ページに貼りつけてあり、クリックや変化を検出して処理を起動すると思いますので、直接お知りになりたいこととは違ったかもしれませんが、解決になると考えました。 でも、確かにページを知りたいこともあると思います。次でどうでしょう。 Private Sub MultiPage1_Change() MsgBox "Page" & CStr(UserForm1.MultiPage1.Value + 1) & "が選ばれました" End Sub ページの変化を検出して、ページ番号を知る方法です。 Page1が0になりますので、1を加算しています。

obone
質問者

お礼

上手くいきました。 言葉での表現がおかしく申し訳ありません。

その他の回答 (1)

  • MasMo
  • ベストアンサー率45% (5/11)
回答No.1

各ページにボタンが貼付けられているのですから、 ボタンをクリックした時の処理ルーチンも5個存在していると理解しました。 Private Sub CommandButton1_Click() MsgBox "page1です" End Sub Private Sub CommandButton2_Click() MsgBox "page2です" End Sub : のようにすれば良いのでは? マルチページ以外の場所に貼りつけられている1個のボタンがクリックされた時に、 マルチページのページ判定をするのであれば全く別な話ですが。 あと、functionは他のルーチンから呼ばれて値を返すためのものですので、 このようなボタンクリック時の処理には、subが適当と思います。

obone
質問者

補足

説明不足ですみません ボタン1だからページ1でなく 現在どこのページからよばれたか、プログラムロジックとして知りたいのです。

関連するQ&A