0
Private Sub Worksheet_Calculate()
Dim cell As Range
Set cell = Range("E9")
If IsNumeric(cell) Then
If cell.Value < 0 Then
ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbRed
Else
ActiveSheet.Shapes("Rectangle 2").Fill.ForeColor.RGB = vbGreen
End If
End If
End Sub
こんにちは、このコードを複数の図形で動作させるにはどうすればよいですか?私はちょうどセットセルからエンドにすべてをコピーしようとし、設定セルの値と形状を変更しましたが、これは動作しませんでした。VBAコードを複数の図形に展開する
あなたが説明した内容はうまくいくはずです。 'cell'(これは' cell'が既にあり、Excelタイプライブラリのオブジェクト型であるためひどい変数名です)を変更し、 'ActiveSheet.Shapes(" namehere ")の名前を変更するのが正しい方法です他のセル/シェイプの組み合わせをターゲットにするおそらく、あなたのセルの値は、それがそうだと思うときは数値ではないでしょうか?また、 'activesheet'は素晴らしい選択ではありません。 'Sheets(" yoursheetname ")。Shapes(" yourshapename ")'はより信頼できます。 – JNevill