验证更新时更改单元格值

时间:2016-07-25 11:10:10

标签: excel excel-vba auto-update vba

我无法在更改单元格时更改单元格值。基本上,当验证Range("F112")发生更改且值为<> "Lease"时,Range"("F108")需要更改为0

到目前为止,我已提出:

模块

Sub SetLeaseToZero()

Dim Settlement As Integer
Settlement = Sheets("HV.Select Pricing").Range("F108")

If Sheets("HV.Select Pricing").Range("F112") <> "Lease" Then
Settlement = 0
Else
End If

End Sub

工作表更改

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Me.Range("F112")) Is Nothing Then
SetLeaseToZero
End If

End Sub

提前致谢

1 个答案:

答案 0 :(得分:2)

您需要设置结算对象才能更改值。如图所示调整模块代码:

Sub SetLeaseToZero()

Dim Settlement As Range
Set Settlement = Sheets("HV.Select Pricing").Range("F108")

If Sheets("HV.Select Pricing").Range("F112").Value <> "Lease" Then
    Settlement.Value = 0
End If

End Sub

请注意,.Value调用在技术上不是必需的,但它们有助于澄清代码。