2016-07-25 53 views
0

我在更改单元格时无法更改单元格值。基本上,当验证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 

在此先感谢

+0

首先你需要添加'Call SetLeaseToZero',所以它会调用你的Sub –

+1

@ShaiRado这是不正确的。 'SetLeaseToZero'足以运行该子。亲自尝试一下。 – Ralph

回答

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电话在技术上并非必需的,但它们有助于澄清的代码。

+1

谢谢现在工作 –