エクセルVBAで”A3”セルに何か入力された時に、同じ行の”C3”セルにあるチェックボックスにチェックを入れる方法はありますでしょうか。
シートは、15シート有りその内1月から12月の12シートの”C”列にそれぞれ100個ほどあります。
中途半端な月からチェックボックスを配置してしまったので、チェックボックスのオブジェクト名に関係なく動くようにしたいです。
VBA勉強中です。
よろしくお願い致します。
-------------------------------------------------------
Private Sub Worksheet_Change()
If Range("A3") <> "" Then 'A3セルに何か入力されたら
ActiveSheet.CheckBoxes("Check Box 389").Value = True 'C列のチェックボックス
End If
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは。
すみませんが、ヒントだけになります。
下記を実行すると、シート上の全てのチェックボックスの左上が、どのセル
になるかのメッセージが表示されるかと思います。
Sub sample3()
Dim sp As CheckBox
For Each sp In ActiveSheet.CheckBoxes
Msgbox sp.TopLeftCell.Address
Next
End Sub
先ず基準を、チェックボックスにして、そのチェックボックスに対応した
セルの情報(入力の有無)を、チェックボックスに反映するという処理に
すればできるかと思います。
ActiveSheet.CheckBoxesは、表示しているワークシートが対象になります
ので、上記の処理を、12シート対応すれば、可能だと思います。
エクセルの神髄 第136回.フォームコントロール
https://excel-ubara.com/excelvba1/EXCELVBA436.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
EXCELでチェックボックスに自動的にチェックを入れる方法
Excel(エクセル)
-
EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい
Visual Basic(VBA)
-
Excel VBAでCheckboxの名前を変数にとって値を調べたい
Visual Basic(VBA)
-
-
4
Excel チェックボックスにチェックが付いた複数のセルを別のシートにコピー・貼り付けするマクロを教
Visual Basic(VBA)
-
5
エクセルでチェックボックスをクリックしたらセルに数値を入力&消去
Excel(エクセル)
-
6
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
7
(VBA)チェックボックスのclickのイベントが、プログラムからの操作でも反応してしまいます。
Visual Basic(VBA)
-
8
EXCELで自動的にチェックボックスの追加
Excel(エクセル)
-
9
【VBA】シート上の複数のチェックボックスのうちどれか一つでも変更した場合のイベント
Visual Basic(VBA)
-
10
チェックボックスの値をTRUE/FALSE以外にするには?
Excel(エクセル)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
13
ExcelVBA EnableプロパティがFalseの時に文字の色を変えたくない
Visual Basic(VBA)
-
14
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
15
エクセルVBAで結合セルの真ん中にチェックボックスを作成する方法を教え
Visual Basic(VBA)
-
16
Excel 条件によって入力禁止にする
Excel(エクセル)
-
17
リストボックスの選択解除
Visual Basic(VBA)
-
18
エクセル VBA ワンクリックでチェックボックスにレ点が入ったりしなかったりしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
自分の左隣のセル
-
同一セル内の重複文字を削除し...
-
エクセル1行おきのセルを隣の...
-
excelで、空白を除いてデータを...
-
Excelで離れた位置のAVERAGEを...
-
エクセルで、指定の値よりも大...
-
セルを結合した時のエクセル集...
-
エクセルで特定のセル内にだけ...
-
Excelで大量のセルに一気に関数...
-
週の労働時間を計算するエクセル
-
条件付き書式の色付きセルのカ...
-
エラー「#REF」の箇所を置き換...
-
【Excel】4つとばしで合計する方法
-
エクセルに入力後、別シートの...
-
Excelでなぜこのような式をつか...
-
エクセル 平日と土日祝の時間...
-
エクセルである表から優先順位...
-
エクセルでエンターを押すと任...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
エクセル1行おきのセルを隣の...
-
自分の左隣のセル
-
エクセルで、指定の値よりも大...
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
エクセルで、A2のセルにA3...
-
エクセルで年月日から月日のみへ
-
エクセルに入力後、別シートの...
-
【Excel】4つとばしで合計する方法
-
Excelで大量のセルに一気に関数...
-
エクセルで特定のセル内にだけ...
-
EXCELのcountif関数での大文字...
-
EXCELでマイナス値の入ったセル...
-
条件付き書式の色付きセルのカ...
-
エラー「#REF」の箇所を置き換...
-
Excelで離れた位置のAVERAGEを...
-
同一セル内の重複文字を削除し...
-
週の労働時間を計算するエクセル
おすすめ情報
ヒントありがとうございます。
色々考えて下記のように記述してみましたが、
A50セルに何か入力したところ
C50セルのチェックボックスだけでなく
C1セルから"C50"までのチェックボックスにチェックが入ってしまいました。
A1からA49セルにはすでにデータが入っています。
新たにA50セルにデータを入力したら"C50"セルにあるチェックボックスにチェックを入れたいです。
よろしくお願い致します。
Private Sub Worksheet_Change()
If Range("A50") <> "" Then 'A50セルに何か入力されたら
For Each chkBox In ActiveSheet.CheckBoxes
If Cells(chkBox.TopLeftCell.Row, "A") <> "" Then
chkBox.Value = xlOn '
End If
NEXT chkBox
End If
End Sub
無事に解決しました。
備忘録として下記、記載しておきます。
文字制限為コメント無
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, ActiveSheet.Range("A1:A100")) Is Nothing Then
Exit Sub
ElseIf Target <> "" Then
Dim chkBox As Excel.CheckBox
For Each chkBox In ActiveSheet.CheckBoxes
If chkBox.TopLeftCell.Row = ActiveCell.Row Then
MsgBox chkBox.TopLeftCell.Address
chkBox.Value = xlOn
End If
Next chkBox
End If
End Sub