• ベストアンサー

コンボボックスのコントロール

コンボボックスの書式設定について教えていただけますか? コンボボックスのコントロールの《リンクするセル》を簡単に変更する方法はありますか? コンボボックスを30コ作りたいのですが、コンボボックスをコピーすると 《リンクするセル》も同じものがコピーされてしまいます。 関数のように順番にセル番号が変化しません。 これをひとつづつ手入力をするのが大変なので こーすると早いよ! などの方法があったら教えていただけませんか? よろしくお願い致します。

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

  • ベストアンサー
  • inoyan43
  • ベストアンサー率100% (1/1)
回答No.1

ご覧になられましたか? 下記・・・他の引用です。 一気に大量となると、VBAとなると思います。EXCELの画面で、シート名のところ(通常Sheet1となっているところ)を右クリック、 コードの表示を選択します。 VBEの画面が開きますので、メニューより「挿入」→「標準モジュール」を選択します。 下記のコードを右下の広いところに貼り付けます。 '--------------ここから貼り付ける-------------------- Sub Check作成() Dim myChk As Object Dim i As Long Dim Sakuseisuu As Long Dim StartCell As Range '現在のブックのアクティブシートに作るにはこの下のWorkbooks.Addを消して下さい。 Workbooks.Add '--------↓ここを変更--------- Sakuseisuu = 20 'チェックボックスの作成数 Set StartCell = Range("B5") 'スタートする位置 '--------↑ここを変更--------- For i = 0 To Sakuseisuu - 1 With StartCell.Offset(i) Set myChk = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _ DisplayAsIcon:=False, _ Left:=.Left, Top:=.Top, _ Width:=.Width, Height:=.Height) End With With myChk .LinkedCell = StartCell.Offset(i, 1).Address .Object.Caption = "" '空白にするのは何でだったかなー? .Object.Value = False End With Next End Sub '--------------ここまで貼り付ける-------------------- エクセルにもどり、メニューよりツール、マクロ、マクロ、と進み Check作成 を実行すると、新しいブックが作成され、そこにチェックボックスが20ヶでき、右側のセルがリンクされます。 上記のコードで、現在のシートにチェックボックスを作る場合は、Workbooks.Addを削除して下さい。 作成数の変更は20 を30とかに、チェックボックスのスタート位置は、B5をC7とかに適宜変更して下さい。 現在すでに、シートにあるチェックボックスの右側にリンクするには下記でできます。 Sub Checkリンク変更() Dim myChk As Variant For Each myChk In ActiveSheet.OLEObjects With myChk If Left(.Name, 8) = "CheckBox" Then .LinkedCell = .TopLeftCell.Offset(, 1).Address .Object.Value = False End If End With Next End Sub

pink_black
質問者

お礼

回答、ありがとうございます。 VBAになるんですね。 ちょこちょこっと簡単な操作方法がないのかな? と思ったんですが、そんなワケにはいかないですね。 細かく回答いただきましたので、無事解決です。 ありがとうございました。

関連するQ&A

  • コンボボックスのスクロール

    エクセルのフォームコントロール([表示]→[ツールバー]→[フォーム])、コンボボックスで文書番号を管理しています。 (※フォームコントロールと呼んで良いのかわかりませんが…) 通常はコンボボックスで文書番号を選択するのですが、リンクするセルの直接入力も可能としています。 リンクするセルが直接入力され変更されたら、コンボボックスもそれに対応する行に移動し、選択されてはいるのですが、自動でスクロールしてくれません。 スクロールバーで調整すれば良いのですが、これを自動(マクロ等)でする方法はあるのでしょうか?

  • コンボボックスの設定  【エクセル】

    エクセルのコンボボックスについてです。 コンボボックスのリストとして 赤 青 黄色 というリストをコンボボックスの‘入力範囲’に指定します。 コンボボックスの ‘コントロールの書式設定’→‘リンクするセル’ でセルを指定すると、赤を選んだとき リンクさせたセルには 「1」とでますが、なぜ1と出るのか、というのと 私は「赤」と表示させたいのですが、そのやり方を教えて頂きたいです。 コンボボックスを初めて使うので初心者的な質問だと思いますが宜しくお願いします。

  • エクセル、コンボボックス/フォームのとコントロールツールボックスの

    エクセル2000です。 今まではワークシートにフォームのコンボボックスを貼って使ってきました。 でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。 質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。 わたしのやりかたが間違っているのでしょうか?

  • コンボボックス dataコントロール

    .net 2003でプログラムを作成中です。 コンボボックスのdataコントロール内に 「3;2;1;5;4」と入力して実験してみたところ コンボボックスには 1 2 3 4 5 となっていました。 これが自動的に昇順に並び替えられてしまうのは仕様なのでしょうか? コントロール内に入力したとおりにしたい場合はどうすればよいのでしょうか? ご教授の程よろしくお願いいたします。

  • コンボ ボックスの高さ

    宜しくお願いいたします Excel2007で「フォーム コントロール」でコンボ ボックスを セルに入れますが、セルの高さをデフォルト(?)の13.5にしてありますが Altを押しながらドラッグしても微妙に高さがはみ出します 右クリックで高さの調整で0.53cmとなっているので、0.45cmなどの数値を入れますが、セル幅に縮小出来ませんが方法は有るでしょうか、大きくはなりますが 縦に幾つも繋げてコンボ ボックスを並べるので(リストでは8行の表示しか出来ず一度に30行位表示させたいためコンボ ボックスを使用)変な使い方ですが、出来ればと思い質問します。

  • Excel2007 フォームコントロールのコンボボ

    コンボボックスと関数について教えてください。 A1セルに【野菜】を入力した場合 B1セルに配置したコンボボックスには【野菜】の一覧 (野菜の一覧はコンボボックスに出るようにすでに編集済みです。) A1セルに【くだもの】を入力した場合 B1セルのコンボボックスには【くだもの】の一覧が出るようにしたいのですが、 コンボボックスの書式設定では関数を入力できませんよね? 入力規則なら、上記の設定ができるのですが、 入力規則のリストでは入力がしにくい(初心者にはクリックしにくい)ので できればコンボボックスのほうが活用しやすいのですが・・。 何か方法があるのでしょうか? 分かりにくい文章で申し訳ありませんが、宜しく願い致します。

  • チェックボックス・コンボボックス

     エクセルのチェックボックス・コンボボックスについて教えて下さい。  チェックボックス・コンボボックスを作成しリストから選択すると、リンクするセルには番号が表示されてしまいます。以前は正確にリスト名が表示されていました。  どこか設定のようなものを変えてしまったのでしょうか?初心者なものでよく分かりません。どうかよろしくお願いします。

  • コンボボックスの文字を大きくしたい

    このサイトの中でコンボボックスの作成方法を知り利用致しました。   (手順)    (1)任意のセルにコンボボックスに反映させたい文字を作成する    (2)メニューバーより     [データ]⇒[入力規則]      [設定]タブより”入力値の種類”を”リスト”にし、       元の値を(1)で作成した文字を選択する ですが、この方法では、コンボボックスで表示される文字が 小さく見づらいものでした。 コンボボックス内で表示される文字の大きさを変更する方法を 教えていただけないでしょうか?

  • ユーザーフォーム上のコンボボックスのリンク先はどうやって指定?

    エクセル97です。ユーザーフォームにおいたコンボボックスに表示させたいワークシート上のリスト、およびコンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。オプションボタンやチェックボックスのリンク先指定方法もわかりません。またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか? エクセル95のときはダイアローグシートにコンボボックスを置き、コントロールの書式設定で簡単に指定が出来たのですが、97に変えてからは、敢えてエクセル5.0のダイアローグを挿入しないといけないようなので、出来ればユーザーフォームで作ってみたいのです。どうかよろしくお願いします。

  • Excel2010のコンボボックスについて

    ActiveXコントロールのコンボボックスについて質問です。 ListFillRangeに一番上に文字列・以下は日付の入ったセル(日付の書式はyyyy/mm/dd)を設定しています。 コンボボックスで選択する際にリストの表示は設定したセルの通りなのですが、日付を選択するとコンボボックスのテキストエリア?の表示が標準に(41172のように)なってしまいます。 これをyyyy/mm/ddのように表示することは可能でしょうか? プロパティのどこをどのようにしたら良いのでしょうか? お願いします。

専門家に質問してみよう