• ベストアンサー

エクセルVBA チェックボックスについて

VBA初心者です。 あるシート(セル)に作った入力用チェックボックスにチェック(TRUE)を入れたときに、別シートの特定の位置に楕円を引きたいのですが、どのようなやり方があるでしょうか。 使い方は入力用シートと印刷用シートを分けて、入力用シートのチェックボックスの状態で印刷用シートの特定のセルに選択したことがわかるように楕円をつけたいというものです。 よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

どうしてもということであれば・・・ 1.印刷用シートのご希望の位置にオートシェープの楕円を配置します。 2.その楕円に名前ボックスで「楕円君」と名前を付けます。 3.入力用シートにフォームのチェックボックスを配置します。 4.このチェックボックスに以下のマクロをセットします。 Sub TEST() Dim x As Variant x = IIf(ActiveSheet.CheckBoxes(Application.Caller).Value = xlOn, True, False) Sheets("印刷用シート").Ovals("楕円君").Visible = x End Sub

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

私見ですが、あまり良い実装と思いません。 入力用と印刷用の両方にチェックボックスを置いて、プロパティで LinkedCell を共有の設定(例えば Sheet1!A1)にすればコードの記入すら不要ですよ。

関連するQ&A

  • エクセルVBAでのチェックボックス操作

    エクセルを利用した、VBAで困っています。 所定のsheetに埋め込まれたチェックボックスに対して、 別sheet内のセルの値を参照し、結果をオン、オフという 操作を行いたいのですが、チェックボックスに対するVBAでの指定方法 が分かりません。 イメージとしては (1)Sheet1内にチェックボックスがある。  該当チェックボックスは7個のチェックボックスで構成されており  それぞれにchb1~chb7といったオブジェクト名がある。 (2)sheet2のA1セルに特定の値が入っていればチェックボックス(chb1)  がオン値がなければオフのまま (3)sheet2のB1セルに特定の値が入っていればチェックボックス(chb2)  がオン値がなければオフのまま という感じです。 先方より指定された様式なのでsheet1の内容や書式を変更することが出来ないので、なんとか埋め込まれたオブジェクトを操作したいのですが・・・ 良い方法があれば教えてください。

  • EXCEL VBA チェックボックスについて

    仕事上システムを作り始めたVBA初心者です。すみませんが、ご享受下さい。 ユーザーフォームにてチェックボックスを作成後、セルへ転載するものを作っております。 その中でチェックボックスが15個ほどあり、onの場合にはその行の25列目に"有"、OFFの場合は"無"と表示させたいのです。 現状はTRUEといった表示はされるところまではいったのですが、その先がどうしてもできません。 見よう見まねで始めた初心者ですので、コードもどこが必要かもあまりわからないのが現状です。お答え頂く上で必要であればアップしますので、よろしくお願い致します。尚、作ろうとしてるのはデータベースで設備項目に有、無をつける予定です。

  • エクセル:チェックボックスで他シートの図形を操作。

    質問させていただきます。 現在、エクセルにて sheet1に帳簿内容入力画面 sheet2に入力画面の項目を反映した印刷用帳簿 というものを作成しています。 その中で、sheet1にチェックボックスを設置し、チェックONでsheet2任意の場所に オートシェイプの楕円を表示(チェックOFFで楕円は消える)させたいのですが、 うまくいきません。 試しにsheet1上にチェックボックス・楕円を設置し、 ------------------------------------------- Sub test01() With ActiveSheet If .CheckBoxes(Application.Caller).Value = xlOn Then .Shapes("楕円1").Visible = True Else .Shapes("楕円1").Visible = False End If End With End Sub ------------------------------------------- とイベント設定をしたところ、sheet1上ではチェックON/OFFで楕円の 表示/非表示ができました。 しかし、実際sheet1にチェックボックス、2に楕円と設置すると「オブジェクトが存在しません」と エラーになってしまいます。 IF関数のような(シート名!セル名)的に楕円の場所を指定しなければいけないのかな?と 思い、色々試してみたのですが実現できませんでした。 勉強不足で恐縮なのですが、詳しい方アドバイスをいただきたいです。

  • エクセル VBA チェックボックスについて

    よろしくお願い致します。 OS:XP エクセル2003 VBAのことは、まったくの初心者です。 質問なのですが、下記のようなチェックボックス7にチェックが入れば、チェックボックス8~11に自由にチェックが入れれるようになり、逆にチャックボックス7にチェックが入ってない場合は、チェックボックス8~11のチェックはクリアされ、チェックできないものを作りました。 ここから、チェックボックス7にチェック入れたあとは、必ずチェックボックス9~11のどれかにチェックが入っている状態(ラジオボタンのような)で、チェックボックス7にチェックが入ってなかったら、8~11のチェックがクリアで尚且つ、チェックができなくなるようにするにはどうすればよいでしょうか? よろしくお願い致します。 Private Sub CheckBox7_Click() If CheckBox7.Value = True Then CheckBox8.Enabled = True CheckBox9.Enabled = True CheckBox10.Enabled = True CheckBox11.Enabled = True Else CheckBox8.Value = False CheckBox9.Value = False CheckBox10.Value = False CheckBox11.Value = False CheckBox8.Enabled = False CheckBox9.Enabled = False CheckBox10.Enabled = False CheckBox11.Enabled = False End If End Sub

  • チェックボックスに関して(vba)

    VBA初心者のためコードを教えてくれますと助かります。 シート1にリストが記載されています。 チェックボックスで選択されている値を取得して(シート1のA列の商品名から)、チェックされている値のデータを転記するようなコードを作成したいと思っております。(別途シート追加する) 知識不足でうまく動きません。よろしくお願いします。

  • 教えて VBA(チェックボックス)利用の構文

    VBA初心者なので教えてください。 仕事でEXEL VBA利用で user form を作ったのですが チェックボックス true なら エクセルデータに各項目欄に1を入力 falseならブランク としたいのですが なお1行に1つだけとは限らず、複数チェックが入る場合もあります。 チェックボックスが48個もあるので困っています。

  • Excel チェックボックスについて

    Excelでチェックボックスをセルとリンクさせると、TrueかFalseがセル上に記録されると思います。 この情報は他セルで計算式で使用したいです。 しかし印刷するとTrue、Falseが印刷されてしまうと思います。 文字列の色を背景色と同じにしてしまえば印刷されていないように見えますが、こういった方法ではなく、印刷させないようにするにはどのような方法がありますか? チェックボックスとリンクするセルを非表示にしてしまう方法は考えました。 この方法が現実的な気がしていますが、それ以外に有効な方法があればお願いいたします。 環境はExcel2003です。

  • エクセルVBAのチェックボックスの使い方について

    初心者です。 ユーザーフォーム中で、6個のチェックボックスと3個のオプションボタンから、帳票を作成しようと思っています。 例  □check1□check2□check3□chechk4□check5(フレーム1) □check6○op1○op2○op3(フレーム1内、フレーム2) この状況から、□check1~6の内4個まで選択可能で□checkが選択されたら、順番に他のセルからセルa1、a4、a7、a10に転記する。(1個ならa1のみでa2に"文字"を記入)また、□check6のチェックでop1~op3→Enabled = TrueとしてActiveSheet.Shapes("グループオブジェクト").Select→移動(コピー)としたい。 if check1.Value = True Then文、celect case文等使用してみましたが思うようにいきません。ご指導願います。

  • エクセルVBA チェックボックスで;;

    下記のような表を作っているんです・・・     A   B   C    D    1  日付  名前  評価   2  1日   あ   A   □ 3  2日   い   B   □ 4  2日   う   A   □ 5  4日   え   D   □ というような感じです(まだ右と下は項目いっぱいあります) Dのセルにチェックボックスをつけてチェックが入った物のみを別なシートにコピーしてそのページを印刷させ印刷し終わったら印刷した行の色を変えたいのです。 色々試してみたのですが、チェックボックスのON OFF判断もままならない状況でした;; どなたか宜しくお願いいたします。

  • エクセルのチェックボックスについて

    エクセルのチェックボックスについて教えて下さい。 シート名が「東京」「名古屋」「大阪」とあります。 各シートのフォームは同じで、チェックボックスが同じセルで各々10個あります。 ここで、「東京」シートの一つのチェックボックスにチェックを入れると、「名古屋」「大阪」の一つのチェックボックスにチェックマークを 入るようにしたいのですが、可能でしょうか? 「名古屋」「大阪」シートに入る位置は「東京」と同じです。

専門家に質問してみよう