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