我意识到我可能正在这里钻一个兔子洞,但是值得一试。
我正在尝试在excel中创建一组加减按钮,并根据先前选择的标准将其应用于单独工作表上的不同单元格。
我到处搜索,一无所获。
这是我的例子...
我有一个人员配备模型,我想预测在增加或减少员工时会发生什么。我将员工分为销售和非销售两种类型。每种类型中都有各种标题。
我计划将我的高级销售助理FTE减少2个,并将我的销售助理FTE减少1个。
我希望能够使用数据验证列表选择“高级销售助理”,然后使用减号按钮减少3。然后,我想切换我的数据验证列表以选择“销售助理”并使用相同的减法按钮可将计数减少1。
我试图使用Excel VBA If THEN语句,但它们似乎不起作用。我将在下面提供我认为可以使用的代码示例。
Sub Plus()
If Range("A1")= "Sales Associate" Then
Range("L10").Value = Range("L10").Value + 1
End If
End Sub
我知道这段代码不会像我所要求的那样考虑多个实例,但是在测试中甚至无法使用一个实例。请让我知道是否可行!预先感谢!
答案 0 :(得分:2)
从代码的最简单和最小的部分开始,并尝试使其正常工作。 例如。像这样一个:
Sub Plus()
Range("L10").Value = Range("L10").Value + 1
End Sub
它应该起作用,将L10
的值增加1。
然后,考虑If
函数。可能在末尾有一些空间。因此,请尝试以下简单方法:
Sub Plus()
If Trim(Range("A1")) = "s" Then
Range("L10").Value = Range("L10").Value + 1
End If
End Sub
Trim()
将在选中的字符串的左侧和右侧去除空格,并将内部空格减少到不超过1。作为进一步的检查,使用{{ 1}},因为“销售关联”与“销售关联”是不同的字符串,并且会发生错误:
LCase()
最后,如果代码在模块中,则还应引用ActiveSheet。看看Sub Plus()
If LCase(Trim(Range("A1"))) = "sales associate" Then
Range("L10").Value = Range("L10").Value + 1
End If
End Sub
之前的点:
.Range()