小编bak*_*son的帖子

减少If语句VBA

所以现在我在excel中制作一个交互式图表,用户可以通过下拉菜单选择各种选项.例如,如果用户想要将其中一个图表的颜色更改为红色,则会选择该图表的下拉菜单,选择红色,然后图表变为红色.我已经编写了宏来执行此操作,但它由每种颜色的多个if语句组成.有没有一种方法可以减少所有这些if语句?当前代码有效,如下所示.F16是下拉菜单在excel中的位置,表示将改变的颜色.我也在使用excel 2010

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 …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

2
推荐指数
1
解决办法
95
查看次数

标签 统计

excel ×1

excel-2010 ×1

excel-vba ×1

vba ×1