이것은 "b37"에 대한 값을 수동으로 입력 할 때 원하는 작업에 적합하지만 "= c20"을 "b37"에 넣을 때 아무 일도 일어나지 않습니다. 참조 된 셀의 값인 "b37"에 대한 값을 수동으로 입력하는 대신 "c20"이 변경 될 때이 작업을 수행하려면 어떻게해야합니까? 감사!
Sub Worksheet_Change(ByVal target As Range)
If Intersect(target, Range("b37")) Is Nothing Then Exit Sub
If IsNumeric(target.Value) Then
If target.Value < 0.95 Then
ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbRed
ElseIf target.Value >= 0.95 And target.Value < 1 Then
ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbGreen
Else
ActiveSheet.Shapes("Straight Connector 1").Line.ForeColor.RGB = vbYellow
End If
End If
End Sub
Private Sub Worksheet_Calculate()
SetLineColor1 Me.Range("B37"), Me.Shapes("Line 1")
SetLineColor2 Me.Range("D35"), Me.Shapes("Line 2")
End Sub
Sub SetLineColor1(c As Range, ln As Shape)
Dim v, clr As Long
v = c.Value
If Not IsNumeric(v) Or Len(v) = 0 Then Exit Sub
If v < 0.95 Then
clr = vbRed
ElseIf v >= 0.95 And v < 1 Then
clr = vbGreen
Else
clr = vbYellow
End If
ln.Line.ForeColor.RGB = clr
End Sub
Sub SetLineColor2(c As Range, ln As Shape)
Dim v, clr As Long
v = c.Value
If Not IsNumeric(v) Or Len(v) = 0 Then Exit Sub
If v < 88 Then
clr = vbRed
ElseIf v >= 88 And v < 100 Then
clr = vbGreen
Else
clr = vbYellow
End If
ln.Line.ForeColor.RGB = clr
End Sub
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다