所以現在我在Excel中,用戶可以通過下拉菜單中選擇各種選項進行的互動圖表。例如,如果用戶想要將其中一個圖表的顏色更改爲紅色,則選擇該圖表的下拉菜單,選擇紅色,然後圖表變爲紅色。我已經編寫了宏來執行此操作,但它由多個if語句組成。有沒有減少所有這些陳述的好方法?目前的代碼工作,並在下面。 F16是excel中的下拉菜單的位置,表示將改變顏色。也正在使用Excel 2010削減下來的if語句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]進行徹底清理。 –