我在电子表格中有一些代码,它应该更改名为“analysis”的工作表上的validaiton列表中的值。如果已选择“成本”值,则分析列表中单元格B1中的值应更改为FTE,否则应选择值“成本”。
下面的代码似乎没有更改验证列表中的值,当我尝试录制宏以了解宏录制如何记录验证更改时,录制器不记录验证变更。有没有人知道如何通过VBA从验证列表中选择一个值?
我目前的代码在
之下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()
答案 0 :(得分:2)
这是对我的全面疏忽,代码写成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()