0
셀의 값에 따라 올바른 건강 위험 그림이 표시되는 코드가 있습니다.그림을 표시/숨기기위한 VBA 코드
D48의 결과가 'AMBER-01'또는 'GREEN'이지만 다른 경우에는 작동하지 않는 경우 작동합니다.
나는 그것을 가능한 한 간단하게 유지했지만 작동하지 않는 이유는 무엇인지 알 수 없습니까?
Sub COSHH()
'If statements for visibility of Pictograms
If Sheets("COSHH").Range("D48").Value = "RED-01" Then
Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoTrue
Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse
ElseIf Sheets("COSHH").Range("D48").Value = "AMBER-01" Then
Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoTrue
Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse
ElseIf Sheets("COSHH").Range("D48").Value = "AMBER-02" Then
Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoTrue
Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse
ElseIf Sheets("COSHH").Range("D48").Value = "GREEN" Then
Sheets("Formulation").Shapes.Range(Array("GreenCOSHH")).Visible = msoTrue
Sheets("Formulation").Shapes.Range(Array("AmberCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("RedCOSHH")).Visible = msoFalse
Sheets("Formulation").Shapes.Range(Array("RedCOSHH2")).Visible = msoFalse
End If
End Sub
누구에게 아이디어가 있습니까? 나는 마지막 것을 다른 것으로 바꾸려고 노력했다. 각 부분을 자신의 IF 문으로 분해하려고했습니다.
No Joy !!
미리 감사드립니다.
D48의 값은 CONCATENATE 수식에서 파생되었습니다. RED01 앞에 공백이 있습니다. 나는 그에 맞게 조정했다! – vividillusion
좋아요! 다행 당신의 코드 작업 :) –