![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
下記の様にチェックボックス1をONにするとチェックのみ、チェックボックス2をONにすると対象セル(3つのセルAAAA、BBBB、CCCC)の文字の色が変わる様にしたいのですが、どうするのが早く、多く複製出来る方法はありませんか?
個々にチェックボックスを作成して、条件付書式などで作成は可能ですが、下記の様(DDDD、EEEE、FFFF・・・・)に複数作りたいので条件付書式では大変なので何か方法はありませんか。
VBAで作ると楽にいけると思うのですが知識不足で・・・。
ご教授願います。宜しくお願いします。
AAAA
BBBB 1□ 2□
CCCC
DDDD
EEEE 1□ 2□
FFFF
・
・ 1□ 2□
・
・
・ 1□ 2□
・
No.2ベストアンサー
- 回答日時:
「マクロの記録」すれば基本になるコードが得られます。
サンプルマクロを書いてみました。
フォームのチェックボックスをB2とC2に作成
C2のチェックボックスに「testcolor」マクロを「マクロの登録」
≪チェックボックス作成マクロ≫
Sub test1()
With Range("B2")
ActiveSheet.CheckBoxes.Add .Left, .Top, .Width, .Height
End With
With Range("C2")
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).OnAction = "test2"
End With
End Sub
≪文字色変更マクロ≫
Sub test2()
Dim cb As Object
Dim rng As Range
Dim rwNo As Long
Set cb = ActiveSheet.Shapes(Application.Caller)
With cb
rwNo = .TopLeftCell.row
Set rng = Range(Cells(rwNo - 1, 1), Cells(rwNo + 1, 1))
If .DrawingObject.Value = 1 Then
rng.Font.colorIndex = 3
Else
rng.Font.colorIndex = 5
End If
End With
End Sub
C2のチェックボックスをクリックすると
A1:A3の文字データの色が変更されます。
これでよければ、For~Next文で、セルを変更指定すれば良いと思います。
この回答への補足
xls88さん
ありがとう御座います。
test1でチェックボックス作成出来ました。
test2で
Set cb = ActiveSheet.Shapes(Application.Caller)がデバックになります。
マクロは分からないのでご教授お願いします。
フォントカラーの指定はどの部分でしょうか?
赤にしたいのですが。
A1:A3の文字データの色が変更されますとの事で、どこで指定しているのですか? 無知ですいません。後で本買って勉強します。
No.7
- 回答日時:
>回答番号:No.5 この回答への補足
j = 2
For i = 1 To 5
With Cells(j, 2)
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).Caption = "チェック"
End With
With Cells(j, 3)
With ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height)
.OnAction = "set文字色"
.Caption = "チェック完了"
End With
End With
j = j + 3
Next i
xls88さん
教わりました事で自分の思った物が実現出来ました。
ループで配置も簡単に行えますし、大変お世話になりました。
ありがとう御座いした。
No.6
- 回答日時:
ループする例です。
Sub test3()
Dim i As Long
Dim j As Long
j = 2
For i = 1 To 5
With Range("B" & j)
ActiveSheet.CheckBoxes.Add .Left, .Top, .Width, .Height
End With
With Range("C" & j)
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).OnAction = "test2"
End With
j = j + 3
Next i
End Sub
No.5
- 回答日時:
>チェックボックスのテキスト分(チェック1・2・3・・・)も指定することも出来るの出来ますか?
意味不明です。
”チェックボックスのテキスト分”って何のことですか?
複数のセルにチェックボックスを増殖するのはループを利用すればよいです。
test1マクロで、For <変数> = <n1> to <n2>辺りを使ってセルを指定すればよいと思います。
[XL] Visual Basic for Applications でのループ構造の使用方法
http://support.microsoft.com/kb/141762/ja
この回答への補足
>”チェックボックスのテキスト分”って何のことですか?
チェックボックスを作成すると、チェックボックスの隣に「チェック1」と表示されますが、この「チェック1」を指定出来ないのかなと思ったのです。ループで100で行うと、チェックボックス「チェック1」~「チェック100」表示されますが、1□が「チェック」2□が「チェック完了」と指定出来ないのかなと思いました。
分かりずらくてすいません。
No.4
- 回答日時:
チェックボックスではなくセルでもよいなら、マクロを使わずに出来ます。
例)
A B C D
1 AAAA
2 BBBB □ □
3 CCCC
・・・
#B列からD列はセル幅を狭め、B2とD2はセルの罫線でチェックボックスのように見せます。
A1の「条件付き書式」を「数式が」「=D2=1」とし、「書式」のパターンで「赤」を選択します。
A2の「条件付き書式」を「数式が」「=D2=1」とし、「書式」のパターンで「赤」を選択します。
A3の「条件付き書式」を「数式が」「=D2=1」とし、「書式」のパターンで「赤」を選択します。
注意)A1、A2、A3の条件式書式はまとめて設定せず、個々に設定します。
さらに、B1とB2を選択して「データ」ー「入力規則」で「データの入力規則」を開き、「入力値の種類」を「リスト」にし、「元の値」に「1,0」とすればマウスの入力だけで済みます。
あとはA1:D3を選択して、下へコピーすればOKです。
![「Excel チェックボックスのコピー、チ」の回答画像4](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/a/20178356_5497df8c36633/M.jpg)
No.3
- 回答日時:
>回答番号:No.2 この回答への補足
>test2で
>Set cb = ActiveSheet.Shapes(Application.Caller)がデバックになります。
test2を直接実行したのではないでしょうか?
回答番号:No.2 で説明してありますが
チェックボックスをクリックすることで実行されます。
>A1:A3の文字データの色が変更されますとの事で、どこで指定しているのですか?
Font.colorIndex の部分です。
フォントカラーを変更する操作を「マクロの記録」すれば、色番号について解ると思います。
上手く出来ました。
ありがとう御座いました。
チェックボックスのテキスト分(チェック1・2・3・・・)も指定することも出来るの出来ますか?
No.1
- 回答日時:
条件付き書式を設定できるなら、普通にコピーしてはいかがですか?
チェックボックスとリンクするセルも含めて範囲でコピーで良いと思いますけどどうでしょう
条件付き書式は比較するセルを絶対参照から相対参照に置き換えればコピーするだけでOK
=$C$3
↓
=C3
あとはチェックボックスのリンクするセルを変えるだけで済みます
(数が多いとちょっと大変かもしれない)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- その他(Microsoft Office) (至急)Googleのスプレッドシートの条件付き書式について 2 2022/09/11 08:50
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
条件付き書式で範囲外だったら...
-
日付が1年以内になると他のセル...
-
【Excel】貼り付けた画像がいつ...
-
数字がセルの左側に寄っていて...
-
エクセル カタカナの文字を検...
-
エクセルで入力欄を明確にしたい
-
Excel2013でセルの書式が勝手に...
-
エクセルで同じ値が連続してい...
-
エクセル 入力中に表示されな...
-
エクセルのふりがな機能を未設...
-
Excel で金額の,で中央揃えす...
-
excelの16進数表示方法
-
Excelについて▶あるセルに文字...
-
EXCEL 2000→2,000のコ...
-
エクセルで条件付き書式を使わ...
-
エクセルで入力数字に自動的に,...
-
エクセルで書式設定だけを固定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
エクセル 入力中に表示されな...
-
数字がセルの左側に寄っていて...
-
日付が1年以内になると他のセル...
-
【Excel】貼り付けた画像がいつ...
-
エクセル カタカナの文字を検...
-
条件付き書式で範囲外だったら...
-
エクセルで平均時間の表示の仕方
-
エクセルで条件付き書式を使わ...
-
Excelについて▶あるセルに文字...
-
エクセルで入力数字に自動的に,...
-
エクセルで同じ値が連続してい...
-
エクセル:セルのバックの色だ...
-
エクセルで書式設定だけを固定...
-
excel 表計算 加算するセルが空...
-
セルに値を入力したら、セルに...
-
エクセル「一度設定した列幅を...
-
エクセルで縦書きのかっこ
おすすめ情報