• ベストアンサー

チェックボックスに連動した他シートの参照

お世話になります。 以下のようなことを実現したいのですが、具体的にどのようにすれば良いのでしょうか? シートが2つ ・S1シート ・S2シート 1.S2シートのC1セルにチェックボックスを作成 2.そのチェックボックスにチェックを入れると   ⇒S2シートのA1のデータがS1シートのA1に表示され、    S2シートのB1のデータがS1シートのB1に表示される。   ⇒それとともに、S2シートのA1,B1,C1セルに青色がつく。 3.チェックボックスをはずすと、   ⇒表示されていたS1シートのデータが消える。   ⇒それとともに、青色も消える。

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

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

一応、コントロールツールのチェックボックスにさせていただきました。 Private Sub CheckBox1_Click() With Worksheets("S2")   If Worksheets("S2").CheckBox1 Then    Worksheets("S1").Range("A1:B1").Value = .Range("A1:B1").Value    '配列による貼り付け    .Range("A1:C1").Interior.ColorIndex = 5 '青のColorIndex   Else    Worksheets("S1").Range("A1:B1").ClearContents '消去    .Range("A1:C1").Interior.ColorIndex = xlNone   End If End With End Sub

superstar
質問者

補足

ご回答ありがとうございました。 もう少し教えてください。 上記回答の場合、チェックボックスON時に 初めてS2シートのデータがS1シートに反映されます。 これをチェックボックスがONの時は リアルタイムにS2シートのデータがS1シートに 反映させることは可能でしょうか? ※Indirect関数等で参照させれば良いのかなと思い、  いろいろやりましたが、実力不足でした。   お手数掛けますが、よろしくお願いします。

その他の回答 (4)

  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.5

> お手数掛けますが、よろしくお願いします。 No.2のmatsu_junです。 Wendy02様を差し置いて拙作を披露させていただきますこと、申し訳ございません。 No1のソースの下の行に、以下を貼り付けてください。 Private Sub Worksheet_Change(ByVal Target As Range)   If CheckBox1.Value Then Worksheets("S1").Range("A1:B1").Value = Range("A1:B1").Value End Sub 蛇足ですが、これはセルの値が変更されるたびに実施される命令と考えてください。

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

別の案もひとつ 表示-ツールバー-フォームのチェックボックスを使用する方法です。 1.S2シートに上記のチェックボックスを置く 2.チェックボックスを右クリックしてコントロールの書式設定を開く 3.コントロールタブのリンクするセルで何処かを指定(以下の例ではセル D1) 4.A1に =IF($D1,'S1'!A1,"") と入力し、B1へコピー 5.A1~C1を選択し、書式-条件付書式で「数式が」に =D1 と入れて書式を設定

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

matsu_jun様へ いつも読ませていただいております。 フォローアップありがとうございました。 このColorIndexの色の「青」って、かなり濃い青なんですね。だから、塗りつぶし(パターン)にすると、下の文字が見えにくくなってしまいますね。 もう少し違った色(水色)とかに換える必要はあるのかなって思いました。 superstar 様へ 今回は、コントロールツールのチェックボックスにしましたので、ツールバーの水色の三角定規(デザインモード)をオンにして、チェックボックスを右クリックして、コードの表示を選ぶと、 Private Sub CheckBox1_Click() ~ End Sub が現れますので、それに上書きでも、中身だけを貼り付けでも構いません。(S2のシートモジュールに作られます)後は、右上の×をクリックして閉じれば、完成です。お分かりになっていたら、読み飛ばしてください。

  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.2

マクロをしこしこと作成していたら先を越されてしまいました。。。 ほとんど同じものができましたので、あえて載せる必要もないなということで、 おまけのページを紹介しておきます。 Wendy02様のソースで、  .Range("A1:C1").Interior.ColorIndex = 5 '青のColorIndex という部分がありまして、もし他の色にしたいという場合は 以下のページをご参照の上、数字を"5"からお好みのものに変更してください。

参考URL:
http://www.relief.jp/itnote/archives/000482.php
superstar
質問者

補足

ご回答ありがとうございました。 もう少し教えてください。 上記回答の場合、チェックボックスON時に 初めてS2シートのデータがS1シートに反映されます。 これをチェックボックスがONの時は リアルタイムにS2シートのデータがS1シートに 反映させることは可能でしょうか? ※Indirect関数等で参照させれば良いのかなと思い、  いろいろやりましたが、実力不足でした。   お手数掛けますが、よろしくお願いします。

関連するQ&A

  • チェックボックスに連動した他シートの参照

    以前も似たような質問をしたのですが、以下のようなことは可能でしょうか? S1シートの該当のチェックボックスにチェックを入れるとその行のデータがS2シートに表示される。 下の例では、B、D列のデータがS2シートのA,B列に表示される。 [S1]| A | B | C | D | E | - - - -- - - - - - - - -  1 | あ | い | う | え | □ |←チェックボックス1 - - - -- - - - - - - - -  2 | お | か | き | く | □ |←チェックボックス2 - - - -- - - - - - - - -  3 | け | こ | さ | し | □ |←チェックボックス3 - - - -- - - - - - - - -  4 | す | せ | そ | た | □ |←チェックボックス4 - - - -- - - - - - - - - 【1】 ○チェックボックス1と3にチェック [S2]| A | B |  - - - -- - -  1 | い | え |  - - - -- - -  2 | こ | し |  - - - -- - -  3 |   |   |  - - - -- - -  4 |   |   |  - - - -- - - 【2】 ○チェックボックス2と3と4にチェック [S2]| A | B |  - - - - - -  1 | か | く |  - - - - - -  2 | こ | し |  - - - - - -  3 | せ | た |  - - - - - - ○上記状態でチェックボックス3のチェックをはずす  [S2]| A | B |  - - - - - -  1 | か | く |  - - - - - -  2 | せ | た |  - - - - - -

  • チェックボックスのリンク先を変更したい

    2枚のシートがあります。 1枚のチェックボックスの状態を別シートのセルにリンクしています。 例えばこんな状態です↓ <シートA>   A     B  C 1 ON(B!C1) 001 イグチ 2 OFF(B!C2) 002 アオキ 3 ON(B!C3) 003 ウエダ ※ON/OFFはチェックボックスのことです。  ()内がリンクセルです。 <シートB>  A  B    C 1 001 イグチ TRUE 2 002 アオキ FALSE 3 003 ウエダ TRUE シートAは表示用のシートで実際のデータ操作はシートBを使います。 シートBで並び換えを行ってもシートAのチェックボックスのリンク先は 並び換え前から変わりません。 並び替え後のセルに自動的にリンク先が変わるようにするにはどのように設定すればよいのでしょうか? よろしくお願いします。

  • エクセルのチェックボックス

    エクセルで作成した表  日付と品名とチェックボックスと金額が入ったセルがあります。    例  A           B        C 日付          金額   チェックボックスと金額 1999/12/1   1000   □  500 2000/10/1   2000   □  600 という風にデータが入った表を日付ごとに並べ替えをしようとすると チェックボックスのデータだけチェックマークがオンのデータをオフのデータが 並びかえがされず、困っています。 どうしたらいいのでしょうか?

  • エクセル チェックボックス

    エクセルで複数の特定セルのどれかにOKの文字が入力されると、 チェックボックスに自動でチェックが入るようにできますか? (A1のセルかB1のセルかC1のセルにOKが表示されると チェックボックスにチェックが自動で入る。) よろしくお願いいたします。

  • サブフォームにチェックボックス・・・・

    accessにて・・・ サブフォームに表示させるレコードと連結したチェックボックスは付けられますか? たとえば・・・ (B→チェックボックスです) (サブフォームイメージ) |項目A |項目B |項目C |項目D B |Aデータ|Bデータ|Cデータ|Dデータ B |Aデータ|Bデータ|Cデータ|Dデータ みたいな感じで、レコードセレクタ代りにチェックボックスを付ける感じで・・・ やってみたんですが、すべてにチェックが入ってしまいます・・・やはり無理なのでしょうか?教えてください

  • エクセルで他のシートを動的に参照するには

    エクセルに関する質問です。 他のシートのセルを参照する場合、たとえば、 =Sheet1!D5 というように入力すると思います。 質問は、このシート名とセル名に、他のセルの値を使用したいのですが、方法はあるのでしょうか? できれば、VBAを使わずに。。。 質問が分かりづらいと思いますので、具体的に説明すると、A1にシート名("Sheet1")が、B1にセル名("D5")が入っている場合に、C1にその値(=Sheet1!D5)が表示されるようにしたいのですが、方法はあるでしょうか?

  • チェックボックスの内容をテキストボックスに表示

    フォームにチェックボックスをいくつか作成しました。 チェックした内容をテキストボックスに羅列して表示するには どうしたらいいのでしょうか? □A □B □C ・ ・ ・ とあり、AとCにチェックを入れたら テキストボックスに「A C」と表示させるようにしたいです。 お願いいたします!

  • HTML チェックボックスで複数の値

    初心者です。 HTMLで下記のような計算ができるシートを作成しようと思っています。 表   A B C □ D E F □ G H I [計算] (□はチェックボックス) チェックボックスをチェックし、計算ボタンを押すと1行目(A,B,C)と選択したチェックボックスの行のそれぞれの列の値の割り算を行い、その結果を合計した数を表示させることを考えています。 チェックボックスをチェックすることでデータを一つ取り込むことはできたのですが、複数データ(列データ)を取り込む方法がよくわかりません。 ご存じの方教えていただけないでしょうか。 初心者ですので、実際のコードから教えて頂けるとありがたいです。 よろしくお願いします。 

  • チェックボックスをラジオボタンでの選択に変更したい

    タイムライン(1)にA・B・C3枚のデータを作成してあります。 a・b・c3通りのチェックボックスを作成して、「a」をクリックした場合にはb・cのデータが隠れ(false)aが表示される(true)(b・cも同様で、a・b・c全部を選択していない場合には全部が表示される)スクリプトを書きました。 ところが、チェックボックスの場合には、利用者が例えば2つを選択することが可能なために、この場合には2つのデータが表示され混乱します。 そのため、チェックボックスをラジオボタンに変更して、且つ同様な動きをさせたいと思っています。 ラジオボタンの場合は「ムービークリップ」のために同様なことは出来ないのでしょうか? 宜しくお願いします。

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

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

専門家に質問してみよう