前提・実現したいこと
いつもお世話になっています。
エクセルのVBAを使用しShhet2の指定のセルに「異常」「警告」等、特定の文字が表示されるとSheet1に配置した図形の色を対応した物に変更される物を作りたいのですが、
現在のものだとSheet2のセルに直接文字を打ち込むと正常に作動するのですが、関数や他のVBAを使用して入力された値だと反応しません。
今のVBAを応用して、関数やVBAで表示した値でも正しく作動するようにはできないでしょうか?
該当のソースコード(Sheet2に入力中)
Private Sub Worksheet_Change(ByVal Target As Range) Dim shpName Select Case Target.Address Case "$B$2" shpName = "図形1" Case "$B$3" shpName = "図形2" Case Else Exit Sub End Select If Target.Value = "異常" Then Worksheets("Sheet1").Shapes(shpName).Fill.Visible = msoTrue Worksheets("Sheet1").Shapes(shpName).Fill.ForeColor.SchemeColor = 2 '赤 ElseIf Target.Value = "警告" Then Worksheets("Sheet1").Shapes(shpName).Fill.Visible = msoTrue Worksheets("Sheet1").Shapes(shpName).Fill.ForeColor.SchemeColor = 4 '黄 Else Worksheets("Sheet1").Shapes(shpName).Fill.Visible = msoFalse End If End Sub
やりたいこと
1)Sheet1に図形配置(複数)が配置されている
2)Sheet2のチェックリストを入力すると内容に応じて指定のセル(今回のサンプルではB2・B3)に「異常」「警告」が表示
3)2の値が表示されるとSheet1の図形の色がそれぞれ赤・黄に変更
どうかよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/05 22:00