• ベストアンサー

Office2003でコントロールの設置

VBAのコントロールではなく、セルに対してドロップダウンリストボックスや チェックボックスを設置する方法はありませんでしょうか? どうかご教示下さい。

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

  • ベストアンサー
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.2

ドロップダウンリストってことなら、 http://kokoro.kir.jp/excel/nkisoku_list.html こういうことでしょうか? また、チェックボックスなら http://kokoro.kir.jp/excel/checkbox.html ってのがあります。

naktak
質問者

お礼

ありがとうございます。 まさにこれです!入力規則で設定出来るんですね!! 見た事はあったのですが、方法が分からず実現出来ませんでいました・・・。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#1です。 ご質問の意味が分かりませんでしたので、回答を間違えてしまいました。設置するならそのままでよいのですが、厳密に言うと、入力規則のリストは、セルに対してですが、チェックボックスは、セルには連動させられるようになっているのですが、オブジェクトですから、直接つながっているわけではありません。

すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 >VBAのコントロールではなく、 という意味が、いまひとつ分かりません。 フォーム(ツール)のことをさすなら以下のとおりです。 ただし、これは、かなり古い方法です。隠しオブジェクトを使う方法は、Ver.5 だからです。 'チェックボックス Sub AddFormToolObject() Dim oLeft As Double Dim oTop As Double Dim oWidth As Double Dim oHight As Double With ActiveCell   oLeft = .Left   oTop = .Top   oWidth = 2 'ダミー   oHight = 2 'ダミー    End With With ActiveSheet.CheckBoxes.Add(oLeft, oTop, oWidth, oHight)   .Caption = ""   .Visible = True End With End Sub 'ドロップダウンリスト Sub AddFormToolObject2() Dim oLeft As Double Dim oTop As Double Dim oWidth As Double Dim oHight As Double With ActiveCell   oLeft = .Left   oTop = .Top   oWidth = .Width   oHight = .Height    End With With ActiveSheet.DropDowns.Add(oLeft, oTop, oWidth, oHight)   .Visible = True End With End Sub -------------------------------------- なお、Excel2003の場合は、以下のように、なるべく、コントロールツールのほうがよいです。 Sub AddControl() Dim oLeft As Double Dim oTop As Double  With ActiveCell   oLeft = .Left   otopt = .Top  End With  With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1")       .Left = oLeft       .Top = oTop  End With End Sub なお、こちらは、名前を消す方法は、一括して消すか、再び、オブジェクトを取得して、Name ="" としないと、そのままでは、消えません。

naktak
質問者

お礼

ありがとうございます。 VBAでも出来るのですねー。

すると、全ての回答が全文表示されます。

関連するQ&A