Excel VBA 问题. change event

大侠,我需要在sheet1里做两个changeevent.1.如果D列有改变,E列就响应变化,2.如果F列有改变,G列就相应变化.我不太知道怎么组合这两个changeev... 大侠, 我需要在sheet1里做两个change event. 1. 如果D列有改变,E列就响应变化, 2. 如果F列有改变, G列就相应变化. 我不太知道怎么组合这两 个change event, 下面的代码不起作用. 请指教!!!!

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("D1:D50"), Range(Target.Address)) Is Nothing Then
Call change_screen
Else
If Not Application.Intersect(Range("F1:F50"), Range(Target.Address)) Is Nothing Then
Call change_screen2

End If
End If
End Sub
Sub change_screen()
Dim x As Integer
For x = 1 To 50
If Sheets("Sheet1").Range("D" & x).Value = "No" Then
Sheets("Sheet1").Range("E" & x).Value = "2"
Else
If Sheets("Sheet1").Range("D" & x).Value = "Yes" Then
Sheets("Sheet1").Range("E" & x).Value = "3"
Else
Sheets("Sheet1").Range("E" & x).Value = ""
End If
End If
Next x
End Sub
Sub change_screen2()
Dim x As Integer
For x = 1 To 50
If Sheets("Sheet1").Range("F" & x).Value = "No" Then
Sheets("Sheet1").Range("G" & x).Value = "2"
Else
If Sheets("Sheet1").Range("F" & x).Value = "Yes" Then
Sheets("Sheet1").Range("G" & x).Value = "3"
Else
Sheets("Sheet1").Range("F" & x).Value = ""
End If
End If
Next x
End Sub
展开
 我来答
zhang_iven
2015-12-02
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)

IF TARGET.COLUMN=4 THEN
'D列变化时要做的事情
ELSEIF TARGET.COLUMN=6 THEN
'F列变化时要做的事情
ENDIF
END SUB
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式