[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームのマルチページ消去』(さんちゃん)
ユーザーフォームのMultipegeで複数のページを条件によって、一時的に見えないようにする。
1〜4pageでAを選択した時、2〜4pageを消す。Bを選択した時1.3.4pageを消す。
A選択'構文省略'
.Page2.Visible=False
.Page3.Visible=False
.Page4.Visible=False
B選択'構文省略'
.Page1.Visible=False
.Page3.Visible=False
.Page4.Visible=False
などと、選択範囲を広げる度に各条件で、このようにいちいち打ち込むのでしょうか?
また、上記の簡略な入力方法がありましたら教えていただけないでしょうか?
「Aを選択した時」のAってなんですか?
「1〜4pageでAを選択した時、2〜4pageを消す。」の場合、 2〜4pageでAを選択した時、は 1page をアクティブにしてから 2〜4pageを非表示にする。 ということでしょうか?
>選択範囲を広げる度に各条件で、このようにいちいち打ち込むのでしょうか? 当然、記述しなければ動きません。 どのていどプログラムコードを纏めることが出来るかは、発想次第です。
(INA)
AやBといったコマンドボタンが、ユーザーフォーム上のマルチページの外側に 配置してあるのでしょうか? 選択なのであれば、ふつうはOptionbuttonを使いますが・・・
Private Sub OptionButton1_Click() Dim i As Long With MultiPage1 For i = 0 To 3 Select Case i Case 0 .Pages(i).Visible = True Case 1, 2, 3 .Pages(i).Visible = False End Select Next i End With End Sub
Private Sub OptionButton2_Click() Dim i As Long With MultiPage1 For i = 0 To 3 Select Case i Case 1 .Pages(i).Visible = True Case 0, 2, 3 .Pages(i).Visible = False End Select Next i End With End Sub
(INA)
Select Case i で、やってみます。知らなかった!
もう一つよろしいでしょうか?
逆に、ユーザーフォームを開いたときに1〜4Pageあるマルチページの2.3.4Pageのみ隠したいのですが、
標準モジュール
Sub /////
UserForm1.Show With MultiPage1 .page2.Visible = False .page3.Visible = False .page4.Visible = False
End With
End Sub
これでは、だめですよね。
なにか、良い方法はあるのでしょうか?
ユーザーフォームの初期設定は、Initialize イベントで処理させるのが一般的です。
ユーザーフォーム・モジュールの UserForm_Initialize プロシージャに 記述してみて下さい。
Private Sub UserForm_Initialize() With MultiPage1 .Pages(1).Visible = False .Pages(2).Visible = False .Pages(3).Visible = False End With End Sub
(INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.