• ベストアンサー

Excel VBAでのMultipageの選択

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.4

結果からいうと無理です。 別々のCheckBoxは個々単体ですので、VBの基本として、 Object.プロパティやObject.メソッド など、一つのコントロールに対しての命令や属性の変更をかけることしかできません。 もし他の方法を望むのであれば、次のロジックはどうでしょうか? (これまた参考です。) 手順1.EXCEL起動時にUserFormをロードしておく 手順2.シート1のCells(1,1)からCells(100,1)の値をUserFormのチェックボックスに反映させる。 手順3.Cells(1,1)からCells(100,1)の値の変更イベント時に、対応するチェックボックスだけ、値を変更する(サンプルモジュールがありますのでそちらを見てください。 手順4.必要なときにUserFormをShowする。 手順5.必要ないときはUserFormをアンロードしないで、Visible=Falseにする。 あとは手順3~5の処理をEXCELが終了するまで繰り返します。 以下のコードをシート1のモジュールに記述してください。 (このサンプルは1~5行目までの変更を認識し、対応するチェックボックスの値を変更します。) Private Sub Worksheet_Change(ByVal Target As Range) Dim wkRange As Range Set wkRange = Target(1, 1) '1列目(A)以外は未処理 If Not (wkRange.Column = 1) Then GoTo PGMEND '5行目以上は未処理 If (wkRange.Row > 5) Then GoTo PGMEND UserForm1("CheckBox" & wkRange.Row).Value = (wkRange.Value = 1) PGMEND: End Sub 毎回たくさんチェックするのがいやなのであれば、こういった方法もありますよ。 でわでわ

関連するQ&A

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

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

  • Excel VBA のマルチページ

    使用環境:Excel2007 VBAのユーザーフォームにMultiPageを配置し各ページにScrollbarを 設定(Vertical)したいと思っています。 各ページに配置まではできましたが、実行しても動かず困っています。 写真やコマンドボタンを多く配置するので、マルチページで対応できたら と考えています。 ヒントとなるコードまたはURLが解れば教えて頂きたいです。 よろしくお願いします。

  • エクセル2003 ユーザーフォーム、マルチページのページ選択の記述

    いつもこちらで勉強させていただいております。 エクセルVBAでユーザーフォームを作成しました。 フォームにはマルチページが有り、ページ数は3枚あります。 で、質問なのですが、フォームを読み込んだときに ページを必ず1ページを表示するようにしたいのですが コードの書き方が判りません。 フォーム作成でページ1を選択しておけば、1ページ目が 表に来るのですが、コードで処理しておけないかなと 思いましてご質問させていただきました。 フォームオブジェクト名:UesrForm1 ページオブジェクト名:Page1 となっております

  • Access VBAでタブコントロールで選択するタブをしていするには。

    Access VBAでタブコントロールで選択するタブをしていするには。 Access のフォーム上に,「ページ1」「ページ2」「ページ3」タブを配置しました。その横にボタンを3個配置して,ボタンクリックでそれぞれ対応するタブを選択(クリックしたのと同じ状態に)させたいのですが,どなたか方法を知りませんか? よろしくお願いいたします。

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

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

  • EXCEL VBA のユーザーフォームで絞り込み

    ここで質問が出来るほどの実力はないのですが・・・。 EXCELのユーザーフォームにコンボボックスを2つ配置しておいて、ComboBox1では都道府県名を選択できるようにしておき、県名を選択したらComboBox2にその県の市町村名が絞り込まれて選択できるようにしたいと考えています。 エクセルにどのような並びでデータをセットしてどのようなコードを書けば実現できるのかをご教授して頂けないでしょうか? まるまる「おんぶにだっこ」的な質問内容ですがよろしくお願いします。

  • エクセルVBAユーザーフォーム・ボタンの復元

    うっかりして、エクセル Visual Basic Editor ・ユーザーフォームの、ツールボックス のコントロールから、[マルチページ]のボタンを削除してしまいました。 何気なく[マルチページ]ボタンを右クリックし、”削除 マルチページ” をクリック してしまったのです。 どの様な方法で[マルチページ]ボタンを復元することができるか、お教え願えれば ありがたいのですが。  どうか、よろしくお願い致します。

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

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

  • Excel VBA

    Excelのコンボボックスについての質問です。 sheet(1)のA2~A20までコンボボックスに入る選択肢が入っています。 フォーム1のコンボボックス1にその選択肢を入れたいのですが、なるべく短いコードを教えていただきたいのですが…。 ちなみに私の知っているコードは コンボボックス1.Additem Range("シート1!A2") コンボボックス1.Additem Range("シート1!A3")      ・      ・      ・ という感じです。 どうかよろしくお願いいたします。

  • Excel VBAでのコードの書き分け方

    Excel VBAについてご質問します。 プロジェクトの項目を見ると、 Sheet1 ThisWorkbook 標準モジュール などさまざまあると思います。 これらに対して、どこにコードを書いていくべきなのかがわかりません。 例えば、Sheet1にボタンを配置して、それがクリックされたときの動作についてはSheet1に書けばいいのだと思います。 ですが、いろんなシートのコード、フォームのコードなどから呼び出される関数はThisWorkbookか標準モジュールのどちらに書けばいいのか悩んでいます。 それ以外のケースも含めて、一般的にこういう風に使い分けをするというのがありましたら、ぜひ教えてください。 よろしくお願いいたします。