- ベストアンサー
エクセル2003 ユーザーフォーム、マルチページのページ選択の記述
いつもこちらで勉強させていただいております。 エクセルVBAでユーザーフォームを作成しました。 フォームにはマルチページが有り、ページ数は3枚あります。 で、質問なのですが、フォームを読み込んだときに ページを必ず1ページを表示するようにしたいのですが コードの書き方が判りません。 フォーム作成でページ1を選択しておけば、1ページ目が 表に来るのですが、コードで処理しておけないかなと 思いましてご質問させていただきました。 フォームオブジェクト名:UesrForm1 ページオブジェクト名:Page1 となっております
- tmgolf
- お礼率80% (56/70)
- オフィス系ソフト
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub UserForm_Initialize() Me.MultiPage1.Value = 0 End Sub > ページオブジェクト名:Page1 これは間違いありませんか? 上記コードは ページオブジェクト名が MultiPage1 の場合です。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
#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が選択状態」 になることを確認しました。
お礼
お返事ありがとうございます。 おかげさまで無事解決しました。
関連するQ&A
- VBAでマルチページの表示
エクセル2002使用です。 ユーザーフォーム(オブジェクト名:UserForm1)に、マルチページ(オブジェクト名:page1)を配置してフォームを作成しました。 Sheet1にコマンドボタンを貼り付け、コマンドボタンをクリックして、標準モジュールを呼び出し、マルチページを標準モジュールから呼び出せるようにしたいのですがうまくいきません。 ’Sheet1 Private Sub CommandButton1_Click() Call フォーム表示 End Sub ’標準モジュール Sub フォーム表示() UserForm1.Show ’?ここのコードをいろいろ試したのですがわかりません。 End Sub この他 UserForm1.ShowPages "page1" とか 変数を入れてみたりしたのですが、うまくいきません。 すいませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- マルチページのタブを切り替えたとき・・
エクセル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 原因がわからず困ってます。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- マルチページで現在開いているページの確認
Excelユーザーフォームにマルチページを貼り付けて ページを5枚作成しました。 (Pag1,PAge2,Page3,Page4,Page5) ページにはそれぞれボタンが貼り付けてあります。 ボタンを押すとfunctionが起動します。 ここでfunctuinのなかで今Pageの1,2,3,4,5のどれを選択しているか確認したいのですが どのようなロジックになりますか?
- ベストアンサー
- Visual Basic
- エクセルVBA ユーザーフォームをオブジェクトとしてセットする書き方?
いつもご回答頂きありがとうございます。 エクセルVBAでユーザーフォームをオブジェクト変数として セットする書き方を教えていただけないでしょうか? エクセルVBAでAファイルとBファイルがあり AファイルのVBAからBファイルを開いて、データを取得し Aファイルに記入していく。と言うVBAを作成しました。 ただ、BファイルにはopenイベントでBファイルに作成された ユーザーフォームがloadされるようになっていて、 AファイルからBファイルを開けたとき、そのユーザーフォームを 消したいのですが、消す方法が分かりません。 AファイルからBファイルをopenメソッドを用いたあと、ユーザー フォームを消せばいいと思うのですが、書き方が分からず困って おります。 オブジェクトとしてセットして、そのオブジェクトをunloadすれば いいかな?とか思っているのですが、セットの仕方もわからず、、、 宜しくお願いいたします。 それぞれのファイル名を「ファイルA」、「ファイルB」、 ユーザーフォーム名を「UserFormB」としたとき、どのように 書けばよろしいでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルのユーザーフォームのスクロールについて
現在、エクセルのユーザーフォームを作成中ですが、 ユーザーフォームに下記のようにコードを書き込み スクロールをさせていますが、 Private Sub UserForm_Initialize() Me.Height = ActiveWindow.Height Me.ScrollBars = fmScrollBarsBoth Me.ScrollHeight = 655 End Sub このユーザーフォームにマルチページを使用しているせいか、 ユーザーフォームを呼び出す際に、マルチページのトップ位置から スクロールのカーソルの位置が指定されてしまい、 ユーザーフォームのマルチページより上部がスクロールしないと 絶えず見えないようになってしまっている状況です。 ユーザーフォームを呼び出す際に、このユーザーフォームの 上部(一番上)からスクロールのカーソルが設定できるようにするには どのようにすればよいか教えて頂きますでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAのマルチページについて
こんばんわ! エクセルVBAのマルチページでpage1、page2、page3とあり、page2に変えたら実行させたいと思うのですが、可能でしょうか?(page1やpage3にしても実行せず、page2にすると実行したい。) 可能なようでしたら参考ページもしくはサンプルソースをお願いいたします。 アドバイスの程よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセルVBAのマルチページについて
こんばんわ! エクセルVBAのマルチページでpage1、page2、page3とあり、ページを変えたら実行させたいと思うのですが、可能でしょうか? 可能なようでしたら参考ページもしくはサンプルソースをお願いいたします。 アドバイスの程よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセルのユーザーフォームについて
エクセルのユーザーフォームについて教えてください。 ユーザーフォームにてメニュー画面を作成しました。 ユーザーはメニューからの操作だけでエクセルシートを作成できるようなマクロをつくりました。 ユーザーフォームのコマンドボタンでEXCELを終了させることはできますか? VBAの記述方法も教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルのユーザーフォームについて教えてください。
エクセルのユーザーフォームでマルチページを作りました。Captionに好きな文字を設定すればタブの表記が変わると思うのですが、テキストボックスの値と連動させて、変更するって出来るのでしょうか? 単純に代入が出来ないようなのですが???Page1.Caption = "いちご" としたら、怒られました。 試行錯誤したのですが?出来ません。 どなたか?詳しい方教えて頂けませんでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでマルチページの切り替え方法の件で
エクセルVBAを使用して フォームを作成しているのですが マルチページを利用してpage1上にコマンドボタンを 配置しそのボタンをクリックすることでpage2に切り替わる 仕組みを作りたいと思っているのですが なかなかうまくいきません Private Sub CommandButton102_Click() userform1.page2.Show End Sub ↑のように考えてはみたのですが エクセルに間違ってるといわれてしまいました ご存知の方がいらっしゃいましたらよろしくお願いします
- 締切済み
- オフィス系ソフト
お礼
ご返答ありがとうございます。 オブジェクトの階層が理解できていませんでした。 UserForm1>MultiPage1 になっているんですね。 UserForm1>Pages(コレクション) だと思っていました。 workbook>worksheetsと同じ様に思っていました。 マルチページの選択に valueを使うとは全く知りませんでした。 勉強になります。ありがとうございます。 おかげさまで、問題点についてクリアすることができました。 ありがとうございます。