Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 创建Plus&;使用VBA的减号按钮使用IF THEN语句_Excel_Vba - Fatal编程技术网

Excel 创建Plus&;使用VBA的减号按钮使用IF THEN语句

Excel 创建Plus&;使用VBA的减号按钮使用IF THEN语句,excel,vba,Excel,Vba,我意识到我可能会在这里掉进兔子洞,但值得一试 我正在尝试在excel中创建一组加减按钮,并根据先前选择的条件将其应用于单独工作表上的不同单元格 我找遍了,什么也没找到 这是我的例子 我有一个人员配置模型,我想预测当我增加或减少员工时会发生什么。我将员工分为两类,销售和非销售。每种类型都有不同的标题 我计划将我的高级销售助理人数减少2名全职员工,并将我的销售助理全职员工人数减少1名 我希望能够使用数据验证列表选择“高级销售助理”,然后使用减法按钮减少3。然后,我想切换我的数据验证列表以选择“Sal

我意识到我可能会在这里掉进兔子洞,但值得一试

我正在尝试在excel中创建一组加减按钮,并根据先前选择的条件将其应用于单独工作表上的不同单元格

我找遍了,什么也没找到

这是我的例子

我有一个人员配置模型,我想预测当我增加或减少员工时会发生什么。我将员工分为两类,销售和非销售。每种类型都有不同的标题

我计划将我的高级销售助理人数减少2名全职员工,并将我的销售助理全职员工人数减少1名

我希望能够使用数据验证列表选择“高级销售助理”,然后使用减法按钮减少3。然后,我想切换我的数据验证列表以选择“Sales Associate”,并使用相同的减法按钮将该计数减少1

我试图使用Excel VBA If THEN语句,但它们似乎不起作用。下面我将提供一个我认为可以工作的代码示例

Sub Plus()

   If Range("A1")= "Sales Associate" Then
       Range("L10").Value = Range("L10").Value + 1        
   End If

End Sub

我知道这段代码不会像我所问的那样考虑多个实例,但它甚至不能在测试中使用一个实例。如果可能的话,请告诉我!提前谢谢

从代码中最简单和最小的部分开始,并尝试使其正常工作。 例如,像这样:

Sub Plus()
    Range("L10").Value = Range("L10").Value + 1
End Sub
它应该可以工作,将
L10的值增加1。
然后,考虑<代码>如果函数。可能在结尾有一些空间什么的。因此,请尝试以下简单方法:

Sub Plus()    
   If Trim(Range("A1")) = "s" Then
       Range("L10").Value = Range("L10").Value + 1
   End If    
End Sub
Trim()
将去掉选中字符串左右两侧的空格,并将内部空格减少到不超过1。作为进一步检查,使用
LCase()
可能是更好的解决方案,因为“Sales Associate”与“Sales Associate”是不同的字符串,并且会发生错误:

Sub Plus()

   If LCase(Trim(Range("A1"))) = "sales associate" Then
       Range("L10").Value = Range("L10").Value + 1
   End If

End Sub
最后,如果代码在模块中,那么还应该引用ActiveSheet。查看
.Range()
前面的点:


萨克斯。效果很好。我的下一个难题是添加第二个标准(当A1=“高级销售助理”更改L11+1时)&将添加内容放在单独的表单上(在表单1上查找,在表单2上添加)。有什么想法吗?@gbengel-欢迎您。对于第二张工作表,请确保您完全参考了工作表-例如,如果LCase(修剪(工作表(“SomeName”).Range(“A1”))=“sales associate”,则工作表(“SecondName”).Range(“D1”)=324
Sub Plus()

    With Worksheets("SomeSheet")
        If LCase(Trim(.Range("A1"))) = "sales associate" Then
            .Range("L10").Value = .Range("L10").Value + 1
        End If
   End With

End Sub