
お世話になります。
以下のようなことを実現したいのですが、具体的にどのようにすれば良いのでしょうか?
シートが2つ
・S1シート
・S2シート
1.S2シートのC1セルにチェックボックスを作成
2.そのチェックボックスにチェックを入れると
⇒S2シートのA1のデータがS1シートのA1に表示され、
S2シートのB1のデータがS1シートのB1に表示される。
⇒それとともに、S2シートのA1,B1,C1セルに青色がつく。
3.チェックボックスをはずすと、
⇒表示されていたS1シートのデータが消える。
⇒それとともに、青色も消える。
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
この回答への補足
ご回答ありがとうございました。
もう少し教えてください。
上記回答の場合、チェックボックスON時に
初めてS2シートのデータがS1シートに反映されます。
これをチェックボックスがONの時は
リアルタイムにS2シートのデータがS1シートに
反映させることは可能でしょうか?
※Indirect関数等で参照させれば良いのかなと思い、
いろいろやりましたが、実力不足でした。
お手数掛けますが、よろしくお願いします。
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
蛇足ですが、これはセルの値が変更されるたびに実施される命令と考えてください。
No.4
- 回答日時:
別の案もひとつ
表示-ツールバー-フォームのチェックボックスを使用する方法です。
1.S2シートに上記のチェックボックスを置く
2.チェックボックスを右クリックしてコントロールの書式設定を開く
3.コントロールタブのリンクするセルで何処かを指定(以下の例ではセル D1)
4.A1に =IF($D1,'S1'!A1,"") と入力し、B1へコピー
5.A1~C1を選択し、書式-条件付書式で「数式が」に =D1 と入れて書式を設定
No.3
- 回答日時:
matsu_jun様へ
いつも読ませていただいております。
フォローアップありがとうございました。
このColorIndexの色の「青」って、かなり濃い青なんですね。だから、塗りつぶし(パターン)にすると、下の文字が見えにくくなってしまいますね。
もう少し違った色(水色)とかに換える必要はあるのかなって思いました。
superstar 様へ
今回は、コントロールツールのチェックボックスにしましたので、ツールバーの水色の三角定規(デザインモード)をオンにして、チェックボックスを右クリックして、コードの表示を選ぶと、
Private Sub CheckBox1_Click()
~
End Sub
が現れますので、それに上書きでも、中身だけを貼り付けでも構いません。(S2のシートモジュールに作られます)後は、右上の×をクリックして閉じれば、完成です。お分かりになっていたら、読み飛ばしてください。
No.2
- 回答日時:
マクロをしこしこと作成していたら先を越されてしまいました。
。。ほとんど同じものができましたので、あえて載せる必要もないなということで、
おまけのページを紹介しておきます。
Wendy02様のソースで、
.Range("A1:C1").Interior.ColorIndex = 5 '青のColorIndex
という部分がありまして、もし他の色にしたいという場合は
以下のページをご参照の上、数字を"5"からお好みのものに変更してください。
参考URL:http://www.relief.jp/itnote/archives/000482.php
この回答への補足
ご回答ありがとうございました。
もう少し教えてください。
上記回答の場合、チェックボックスON時に
初めてS2シートのデータがS1シートに反映されます。
これをチェックボックスがONの時は
リアルタイムにS2シートのデータがS1シートに
反映させることは可能でしょうか?
※Indirect関数等で参照させれば良いのかなと思い、
いろいろやりましたが、実力不足でした。
お手数掛けますが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 同じExcelのBOOK内で 1枚目のシートのA1のセルにデータを 入れると2枚目のシートのC1のセ 1 2022/10/25 09:40
- Excel(エクセル) Excel関数について質問です。 シート1に入力シートがあります。 =A1 =B1などで離れた数字な 5 2022/12/18 13:42
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
エクセルで別シートの同じ位置...
-
エクセルでセルの書式設定がで...
-
シート全体を他のブックのシー...
-
エクセルのデータ反映方法
-
エクセルで数式は残したまま他...
-
チェックボックスに連動した他...
-
エクセルのマクロでコピー後の...
-
Excelで保護のかかったシートの...
-
エクセルマクロ コピー元と貼...
-
EXCELのマクロについて
-
色付きセルの合計を自動更新したい
-
【エクセル】数式のセル番地を...
-
エクセルで打ち込んだ数字を自...
-
エクセルで別シートを参照して...
-
ピボットテーブルの統合
-
行の挿入ができなくなった
-
エクセル こんなことしたいです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
シート全体を他のブックのシー...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
Excelで保護のかかったシートの...
-
エクセルで数式は残したまま他...
-
ロックしたセルのコピー&貼り付け
-
VBA アクティブでないシートの...
-
excelで勝手にテキストボックス...
-
Excelで大量の2000個のリストを...
-
シート保護してても並び替えを...
-
行の挿入ができなくなった
-
エクセルのマクロでコピー後の...
-
シート保護したExcelへの画像貼...
-
【エクセル】表から条件に合っ...
-
スプレッドシートが真っ白にな...
-
フィルタされたものを切り取り...
-
【エクセル】数式のセル番地を...
おすすめ情報