• ベストアンサー

ExcelVBAでフォームへのチェックボックス作成方法

OS:Windows XP Home 2002 App:Excel2003 同じブックの別シートから値(数値)を取得してその数だけフォームにチェックボックスを作る方法を教えてください。 フォームを表示(.show)する前に必要な数だけのチェックボックスを配置したいのです。 初めての投稿なので、 失礼があるかもしれませんが、よろしくお願いいたします。

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

Excel2000で試したので2003で出来るかわかりませんが、チェックボックスを動的に追加するサンプルです。 この例は、UserForm1にチェックボックス(MyCheckBox1~5)を追加します。 Dim chkbox As MSForms.CheckBox For i = 1 To 5 Set chkbox = UserForm1.Controls.Add("Forms.CheckBox.1", "MyCheckBox" & i) ' 追加されたチェックボックスが返ってきます chkbox.Caption = "Check Box " & i ' チェックボックスのキャプションを設定 chkbox.Top = i * 20 ' 適当に位置をずらします Next i 追加したチェックボックスがチェックされているかどうかは以下の様に調べられます。(MyCheckBox1を調べます) UserForm1.Controls("MyCheckBox1").Value

miekko67
質問者

お礼

エクセル2003でも出来ました♪ 大変お世話になり、ありがとうございました。m(__)m

その他の回答 (1)

  • Nayuta_X
  • ベストアンサー率46% (240/511)
回答No.1

>同じブックの別シートから値(数値)を取得してその数だけフォームにチェックボックスを作る方法を教えてください 回答: ユーザーフォームにコントロールを追加するには、[ツールボックス] の [コントロール] タブから追加するコントロールをフォームにドラッグして配置し、次にコントロールの輪郭が目的のサイズになるまで調整ハンドルをドラッグして調整します。となっていますので、  質問の内容は、出来ません。 但し、事前にコントロール(チェックボックス)を沢山作っておいて あるセルの値を読み込んで、その値に応じた数だけ チェックボックスを見えるようにすることは、出来ます。 例: CheckBox1.Visible = True 'CheckBox1は、見える CheckBox2.Visible = True CheckBox3.Visible = False 'CheckBox3は、見えない 実際のコードは、ご自分で考えてください。

関連するQ&A

  • 別ファイルのフォームコントロールで作成したチェックボックスの値の取得方法

    Excel2007で別ファイルのチェックボックスの値を取得したいと思っています。 値(オンかオフか)を取得するチェックボックスは「フォームコントロール」で作成したものです。 チェックボックスはフォームなどの上ではなく、シート上に直接置いてあります。 ShapesやOLEobjectだとサポートしてませんエラーが出てしまいうまくいきません。 何かいい方法はありませんでしょうか。

  • ExcelVBA ユーザーフォームに関しての質問です。

    ExcelVBA ユーザーフォームに関しての質問です。 ユーザーフォームでフレームを使って、 フレーム内に複数のチェックボックスを配置したとします。 行いたい作業としては次の2点 ?フレーム内に配置したチェックボックスのうち、チェックが入っているものだけの数を調べる ?チェックが入っているボックスの値(caption)を取得して、変数に入れる 以上のことができるでしょうか?

  • VBAでのチェックボックスの自動作成

    今、ワークシートに入れてあるリストを、インプットボックスでワークシートで指定して読み込ませて処理しています。 今後、複数のリスト(ワークシート)を指定する為、ワークシートの数(ワークシート名も入力して)だけユーザーフォームに自動でチェックボックスを作成するマクロを作りたいと考えています。 ワークシートの数の取得、ワークシート名の取得方法、チェックボックスの値の取得方法はわかりましたが、ワークシートの数だけ、チェックボックスを適当なサイズで自動生成する方法がわからず困っています。 長いコードになると思いますが、よろしければコードも含めて教えてください、よろしくお願いします。

  • Excelでセルの値によりチェックボックスを操作

    EXCEL2007で作業しています。 シートにチェックボックスを配置しています。 ・セルA1の値が「あ」だったら チェックボックス1にチェックを入れる。 ・チェックボックス2にチェックが入っていたら オートシェイプ2を表示させる 上記2つを実現したいです。 どちらかひとつでもおしえていただければと思います。 よろしくお願いいたします!

  • マクロ フォームでのチェックボックスについて

    教えてください。 1)フォームでテキストボックス2つ、ボタンで新しい入力フォーム表示 2)入力フォームでチェックボックス6個、コンボボックス6個を作ります。 3)チェックボックスにチェック(1個のみ)したら、1)のフォームのテキストボックスにチェックされた、項目とコンボボックスで選択された内容が転記したい。 例)果物にチェック、コンボでブドウと選択  テキストボックス→果物 ブドウ というようにフォームに転記させたい。 以前、シートでのマクロを教えていただきましたが、フォームだと頭が混乱してしまいました。 簡単で良いので、マクロの記述を教えてください。

  • Accessのチェックボックス

    こんにちは。AccessのVBAについてお教えください。 下記URLに質問内容の画像を配置しました。 http://kie.nu/tli フォーム1にテキストボックス1というコントロールを配置しました。テキストボックス1に名簿IDの数値を入力して、ボタン1をクリックします。 もしチェックボックス1に既にチェックが入っていたらメッセージ「チェックが既に入っています。」といったメッセージを表示したいと思います。 そこで、ボタンを押した時に、 If フォーム1!サブフォーム1!チェックボックス1.Value = -1 Then msgbox "チェックが既に入っています。" end if とやりましたが、うまく動きません。どうやれば、うまく動くようになりますかご教授頂けませんでしょうか。よろしくお願いいたします。

  • accessのフォームのチェックボックスを動くようにしたいです。

    accessのフォームのチェックボックスを動くようにしたいです。 あるフォームは起動時、更新の許可を「いいえ」に設定しています。フォームの値をいじらせないようにしているためです。 編集可能釦をおしたときに、この更新許可を「はい」にしています。 起動時(起動後)に、あるチェックボックスだけ、動作するようにしたいのですが、なにか簡単な方法はありますでしょうか? チェックボックスが無理でしたら、他の操作ボックスでもよいです(西暦・和暦を指定しているだけのチェックボックスです) p.s. フォームには、テキストや、コンボなど沢山あるため、できれば更新「いいえ」はそのままにしたいです。

  • エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。

    表題の通りで、エクセルユーザーフォームにチェックボックスを作成し、そのCaptionにセルの値を入れたい場合、どのようにすればいいのでしょうか。 つまり、シートのセルの値が変われば、ユーザーフォームのチェックボックスの文字が変わっているようにしたいのです。 エクセル2003です。 よろしくお願い致します。

  • Excel VBA 条件を満たしたセル上にあるチェックボックス

    Excel2003を使用しています。 Sheet1のN4セルの値と同じ値が入力されているセルをSheet2のA列(A1:A50)から検索し、その行のB列に配置されているチェックボックスにチェックをつけたいのですが、そのチェックをつけたいチェックボックスを指定する方法がわかりません。 検索してヒットしたセルの1つ右隣のセルにチェックボックスが配置されているということで myNum = Sheets("Sheet1").Range("N4").Value Rng = Sheets("Sheet2").Range("A1:A50").Find(myNum) としたとして、Rng.Offset(, 1).Address と、チェックをつけたいチェックボックスの左上のセルアドレスを比較すればいいのかな?と思っているのですが、そのチェックボックスをどのようにしたら指定できるでしょうか? また、別の方法もありましたら、アドバイスをいただけると嬉しいです。 よろしくお願いします。

  • チェック・ボックスとそのボックス内のチェックの大きさを変える方法は?

    Excelなどでワークシートに(「表示(V)」→「ツールバー(T)」→「コントロール ツールボックス」で貼り付けられる)チェック・ボックスに関して教えてください。す。 チェック・ボックス自体の大きさ(すなわち縦・横のサイズ)およびそのボックス内に付けたチェックの大きさを変える方法はないでしょうか? デフォールトの状態で、チェックボックス内にチェックを入れて印刷してみると、このチェックが貧弱に見えてしまいます。また、文字の大きさだけを大きくしても、チェック・ボックスと不釣合いになってしまいます。 なお、チェック・ボックス右に付けるテキストにつき、その文字の大きさ・太さを変える方法は、以前このOK Webでお尋ねしてわかりました。