【发布时间】:2017-02-09 10:59:38
【问题描述】:
我已经为此工作了一段时间,但遇到了一个真正的绊脚石。
我有一组值,可通过第 3 页 D 列中的已验证下拉菜单获得。选择此值后,当前使用 excel 函数 ='Sheet 3'!D4 等显示在不同的工作表(第 7 页)中打开,我有一些代码可以读取它并执行 IF 语句以在另一个单元格中生成一个值。
我的问题是代码依赖于读取值而不是公式。
我目前有一个要运行的单独函数的工作表更改命令,有没有办法运行第二个函数并将表 3 列 D 中的任何更改调用到表 8 列 D 中,然后运行我的其他更改功能?
表 7 代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Intersect(Target, Range("D2:D102")) Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error GoTo Finalize
For Each c In Target.Cells
Select Case c.Column
Case 4
Call Print_Quality(c)
End Select
Next c
Finalize:
Application.EnableEvents = True
End Sub
表 7 模块:
Sub Print_Quality(c As Range)
Dim PrintQuality As String
Dim PrintSpeed As String
PrintQuality = c.Value
If PrintQuality = "A Quality 1" Then PrintSpeed = "100"
c.Offset(0, 5).Value = PrintSpeed
End Sub
我一直在尝试这条路线,但无济于事:
工作表 3 代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D4:D104")) Is Nothing Then Exit Sub
Application.EnableEvents = False
On Error GoTo Finalize
UpdateVal
Finalize:
Application.EnableEvent = True
End Sub
模块:
Sub UpdateVal()
Worksheets("Sheet 7").Range("D2").Value = Worksheets("Sheet 3").Range("D4").Value
End Sub
非常感谢
【问题讨论】: