VBA – 从validation列表中select值

我在电子表格中有一些代码,它应该改变名为“分析”的工作表上有效的列表中的值。 如果已经select了“成本”值,则分析列表中的单元格B1中的值应更改为FTE,否则应select“成本”值。

我的代码似乎并没有改变validation列表中的值,当我尝试logging一个macros以了解macroslogging如何loggingvalidation更改时,logging器不会loggingvalidation更改。 有没有人有任何想法如何通过VBA从validation列表中select一个值?

我目前的代码如下

Sub ChangeValue() Worksheets("Analysis").Select With Worksheets("Analysis") If Range("B1").Value = "Costs" Then Range("B1").Value = "FTE" Else Range("B1").Value = "Costs" End If End With End Sub() 

这代表了我的全面监督,代码被写为Range而不是Range。 下面修复

 Sub ChangeValue() Worksheets("Analysis").Select With Worksheets("Analysis") If .Range("B1").Value = "Costs" Then .Range("B1").Value = "FTE" Else .Range("B1").Value = "Costs" End If End With End Sub()