
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは、
放置されそうなので、
要件定義が良く分からないのですが、
不明な点は、こちらで決めてサンプルを作りました。
サンプルを参考に作り直せば出来ると思います。
サンプルの実行条件
セル背景色は条件書式などで設定されており、変更される時にシート上で再計算が行われる。
(手動で変更しても再計算を行った時点で実行されます)
対象シートはインデックス1(一番左のシート)のA1セル
ユーザーフォームでなく取り敢えずメッセージボックスを表示
ThisWorkbook モジュールに
Option Explicit
Dim Cellrecord
Private Sub Workbook_Open()
Cellrecord = Sheets(1).Range("A1").DisplayFormat.Interior.Color
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Index = 1 Then
If Sh.Range("A1").DisplayFormat.Interior.Color <> Cellrecord Then
Cellrecord = Sh.Range("A1").DisplayFormat.Interior.Color
MsgBox ("セル背景色が変わりました")
End If
End If
End Sub
セル背景色は条件書式などで設定されており、単セルへの参照式の場合
参照先の手入力で変更しても再計算は行われません。
この場合、SheetCalculateイベントをSheetChangeにして下記のようにすれば実行されます。
例の場合、A1セルの条件書式は数式で =B2=hoge など
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Index = 1 Then
If Target = Range("B2") Then
If Sh.Range("A1").DisplayFormat.Interior.Color <> Cellrecord Then
Cellrecord = Sh.Range("A1").DisplayFormat.Interior.Color
MsgBox ("セル背景色が変わりました")
End If
End If
End If
End Sub
コピペした後Excelブックを再起動してください。
サンプルコードは、色が変わる度にMsgBoxが表示されます。
開いたのち1度だけで良いなら、フラグなど条件を加えてください。
トリガーをどこにするかですが、
セルの背景色の変更の方法が分からないので、この辺りで
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル 表の移動 2 2023/04/05 20:29
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) エクセルのマクロを教えてください シート内の背景色が赤のセルだけを残して 他のセルは削除したいです。 3 2023/07/12 12:26
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
- Access(アクセス) ACCESS2019 ナビゲーションウィンドウの色 1 2022/05/10 17:15
- Windows 95・98 タスクバーの背景の色だけを変えたい。 2 2022/07/13 14:44
- 写真・ビデオ スマホ(シャープSENSE7-53C)の背景色を変更したい 2 2023/08/09 11:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaで、別シートの最下...
-
Excelで指定した日付から過去の...
-
ExcelVBAを使って、値...
-
セルに貼り付けた画像の上から...
-
特定のセルが空白だったら、そ...
-
VBA初心者です。結合セルを保持...
-
エクセルvbaのワークシート関数...
-
最後のデータ行の任意のセルの...
-
【VBA】シート上の複数のチェッ...
-
【Excel VBA】指定行以降をクリ...
-
TODAY()で設定したセルの日付...
-
指定文字以外のカウント
-
【Excel】指定したセルの名前で...
-
エクセルvba:自己セルの情報取...
-
VBA実行後に元のセルに戻りたい
-
Excelに保存されているユーザー...
-
excelで置換をしたいんですが
-
”戻り値”が変化したときに、マ...
-
Excle VBA Findメソッドについて
-
Excel2003 複数セル1列の入力済...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Excelのプルダウンで2列分の情...
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
VBAでセルをクリックする回...
-
”戻り値”が変化したときに、マ...
-
VBA実行後に元のセルに戻りたい
-
Excel vbaで特定の文字以外が入...
-
【VBA】シート上の複数のチェッ...
-
Excel VBA マクロ ある列の最終...
-
Excel VBAで、 ヘッダーへのセ...
-
DataGridViewの各セル幅を自由...
-
VBからEXCELのセルの値を取得す...
-
EXCELのVBA-フィルタ抽出後の...
-
VBAでセル同士を比較して色付け
-
Application.Matchで特定行の検索
おすすめ情報