これまでで一番「情けなかったとき」はいつですか?

Excelユーザーフォームにマルチページを貼り付けて
ページを5枚作成しました。
(Pag1,PAge2,Page3,Page4,Page5)
ページにはそれぞれボタンが貼り付けてあります。

ボタンを押すとfunctionが起動します。

ここでfunctuinのなかで今Pageの1,2,3,4,5のどれを選択しているか確認したいのですが
どのようなロジックになりますか?

「マルチページで現在開いているページの確認」の質問画像

A 回答 (2件)

>ボタン1だからページ1でなく


>現在どこのページからよばれたか、プログラムロジックとして知りたいのです。

「呼ばれた」というのはどういうイベントなのでしょうか?
普通はボタンなどが各ページに貼りつけてあり、クリックや変化を検出して処理を起動すると思いますので、直接お知りになりたいこととは違ったかもしれませんが、解決になると考えました。

でも、確かにページを知りたいこともあると思います。次でどうでしょう。

Private Sub MultiPage1_Change()
MsgBox "Page" & CStr(UserForm1.MultiPage1.Value + 1) & "が選ばれました"
End Sub

ページの変化を検出して、ページ番号を知る方法です。
Page1が0になりますので、1を加算しています。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/01/16 10:58

各ページにボタンが貼付けられているのですから、


ボタンをクリックした時の処理ルーチンも5個存在していると理解しました。

Private Sub CommandButton1_Click()
MsgBox "page1です"
End Sub

Private Sub CommandButton2_Click()
MsgBox "page2です"
End Sub



のようにすれば良いのでは?
マルチページ以外の場所に貼りつけられている1個のボタンがクリックされた時に、
マルチページのページ判定をするのであれば全く別な話ですが。

あと、functionは他のルーチンから呼ばれて値を返すためのものですので、
このようなボタンクリック時の処理には、subが適当と思います。

この回答への補足

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

補足日時:2012/01/13 15:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報