지금은 Excel에서 대화 형 그래프를 만들고 있는데, 여기서 드롭 다운 메뉴를 통해 다양한 옵션을 선택할 수 있습니다. 예를 들어 사용자가 차트 중 하나의 색을 빨간색으로 변경하려면 해당 차트의 드롭 다운 메뉴를 선택하고 빨간색을 선택한 다음 차트가 빨간색으로 바뀝니다. 이 작업을 수행하기 위해 매크로를 작성했지만 각 색상에 대해 여러 if 문을 작성합니다. 이 if 문 모두를 줄일 수있는 좋은 방법이 있습니까? 현재 코드가 작동하며 아래에 있습니다. F16은 어떤 색상이 변경 될 것인지를 나타내는 드롭 다운 메뉴가있는 곳입니다. 또한 @findwindow이 코멘트에 명시된 바와 같이 2010If 문을 줄입니다. VBA
If Target = Range("F16") Then
'Checks to see if the color is being changed for the Elevation Graph
If Worksheets("Reference_Sheet").Range("H9").Value = "Black" Then
Call Black_Line_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Tan" Then
Call Tan_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Dark Blue" Then
Call Dark_Blue_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Yellow" Then
Call Yellow_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Olive Green" Then
Call Olive_Green_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Light Green" Then
Call Light_Green_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Green" Then
Call Green_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Light Blue" Then
Call Light_Blue_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Aqua" Then
Call Aqua_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Theme Orange" Then
Call Theme_Orange_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Standard Orange" Then
Call Standard_Orange_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Standard Purple" Then
Call Standard_Purple_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Theme Purple" Then
Call Theme_Purple_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Theme Blue" Then
Call Theme_Blue_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Standard Blue" Then
Call Standard_Blue_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Standard Red" Then
Call Standard_Red_ELE
ElseIf Worksheets("Reference_Sheet").Range("H9").Value = "Theme Red" Then
Call Theme_Red_ELE
End if
End if
'case' 문을보십시오. 또한, '함께'. – findwindow
Protip : 철저한 정리를 위해 작업 코드 (전체 컨텍스트 포함)를 [codereview.se]로 가져 오십시오. –