• ベストアンサー

VBAについて

Excel VBAのUserFormにマルチページ(Page1、Page2、Page3)があります。 Sheet1で1行目のセルを選択した場合は、UserFormのPage1のみを表示 (Page2、Page3は非表示)、 Sheet1で2行目のセルを選択した場合は、UserFormのPage2のみを表示 (Page1、Page3は非表示)、 というようにしたいのですがうまくできません。 どのようにしたらよいのでしょうか。

  • gazo
  • お礼率30% (74/241)

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

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

どの部分がわからないのでしょうか? フォームを表示させたままシートをクリックすることが既にできていて、 なおかつ、シートを切り替えたときにどのシートがアクティブになったのかは取得できている、 と勝手に仮定。 MultiPage コントロールの各ページの表示/非表示なら MultiPage1.Pages(1).Visible = False てな感じです。 上記コードは 2ページ目を非表示にします。 カッコの中は 0 から始まり、ページ数 - 1 まで入ります。 つまり 3ページある場合は 0, 1, 2 になります。

gazo
質問者

お礼

回答ありがとうございます。 とても助かりました。

関連するQ&A

  • VBAについて

    エクセルシートで任意に選択されたセルの個数を VBAのUserFormのTextBoxに表示されるのは どのようにしたらよいのでしょうか? 例)エクセルシートで、B2~D2をマウスで選択すると、   UserFormのTextBoxに3と表示されるようにする。 任意に選択されたセルの個数を求めるのは 以下のようにしました↓↓↓ ********************************* * Sub GetAreaValue() *   Dim CELLNUM As Integer *   CELLNUM = Selection.Count * End Sub *********************************

  • エクセルVBA UserFormで選択リスト

    VBAは多少はかじりましたが、UserFormを使うのは初めてです。これまではDialogSheetでやってました。 しかし今回は、DialogSheetでは大分類小分類に分けたリストはできそうもないのでUserFormならマルチページ機能があるのでなんとかなるのではと思いました。 やりたいことは約千種類あるデータを、まず大分類のカテゴリーに10区分し、マルチページとします。 大分類の各ページをさらにマルチページで小区分し、各5区分とします。都合10*5で50ページとなります。 小区分の各ページにそれぞれリストボックスを配置し、エクセルシートのデータリストからデータを表示し、エクセル使用者が選択できるようにします。 こんなことはマルチページで可能でしょうか?それともタブストリップですか? 参考となるコードなどもご教示いただけると幸いです。 よろしくお願いします。

  • VBAでマルチページの表示

    エクセル2002使用です。 ユーザーフォーム(オブジェクト名:UserForm1)に、マルチページ(オブジェクト名:page1)を配置してフォームを作成しました。 Sheet1にコマンドボタンを貼り付け、コマンドボタンをクリックして、標準モジュールを呼び出し、マルチページを標準モジュールから呼び出せるようにしたいのですがうまくいきません。 ’Sheet1 Private Sub CommandButton1_Click() Call フォーム表示 End Sub ’標準モジュール Sub フォーム表示() UserForm1.Show ’?ここのコードをいろいろ試したのですがわかりません。 End Sub この他 UserForm1.ShowPages "page1" とか 変数を入れてみたりしたのですが、うまくいきません。 すいませんが、よろしくお願いします。

  • Excel 2007 VBAについて質問します。

    Excel VBAの初心者です。 行の非表示と表示についてお聞きしたいのです。 ExcelのSheet1の1行目(1行全体)のみを、シート上のセルをWクリックをして 非表示にしたり表示させたりするのには、どの様なコードを書いたらいいでしょうか? VBA初心者の為、分かりやすい回答をお願いします。

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

    エクセル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 原因がわからず困ってます。 よろしくお願い致します。

  • エクセルVBAでマルチページの切り替え方法の件で

    エクセルVBAを使用して フォームを作成しているのですが マルチページを利用してpage1上にコマンドボタンを 配置しそのボタンをクリックすることでpage2に切り替わる 仕組みを作りたいと思っているのですが なかなかうまくいきません Private Sub CommandButton102_Click() userform1.page2.Show End Sub ↑のように考えてはみたのですが エクセルに間違ってるといわれてしまいました ご存知の方がいらっしゃいましたらよろしくお願いします

  • Excel VBA-改行について

    Excel VBAで、UserFormのTextBoxに入力されたものをワークシートに表示させたいのですが、 TextBox内で、「Enter」キーが押されたら改行する方法と TextBoxで入力された通り(改行等)にワークシートのセルに表示する方法を どなたか教えて下さい。

  • エクセル VBA BeforeDoubleClick

    エクセル VBA 初心者です エクセルで セルをダブルクリック(複数のセル)しUserFORMが出るところまではできましたが UserFormでの登録時のオブジェクトがわかりません;;  sheetでtarget.range("A1:G1")して A1~G1でUserFormをよびだしています UserFormで登録時 target.offset(1,0)=textbox1.text みたいな感じで作ったらオブジェクトが見つかりませんが でます userformでのtarget指定はできるでしょうか?

  • エクセルVBAのマルチページについて

    こんばんわ! エクセルVBAのマルチページでpage1、page2、page3とあり、page2に変えたら実行させたいと思うのですが、可能でしょうか?(page1やpage3にしても実行せず、page2にすると実行したい。) 可能なようでしたら参考ページもしくはサンプルソースをお願いいたします。 アドバイスの程よろしくお願いいたします。

  • エクセルVBAのマルチページについて

    こんばんわ! エクセルVBAのマルチページでpage1、page2、page3とあり、ページを変えたら実行させたいと思うのですが、可能でしょうか? 可能なようでしたら参考ページもしくはサンプルソースをお願いいたします。 アドバイスの程よろしくお願いいたします。