Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 工作表\u更改功能在一台计算机上工作,但在另一台计算机上不工作_Excel_Vba - Fatal编程技术网

Excel 工作表\u更改功能在一台计算机上工作,但在另一台计算机上不工作

Excel 工作表\u更改功能在一台计算机上工作,但在另一台计算机上不工作,excel,vba,Excel,Vba,我正在尝试使用这里编写的VBA代码- 我已经贴在下面了: 代码似乎在一台计算机上运行得很好,但在另一台计算机上,当我在B列中进行任何更改时,似乎什么也没有发生。我的第一个想法是,可能有某种选项被禁用,但我不确定在哪里查看或如何比较两台计算机之间的设置 如有任何帮助,我将不胜感激 Private Sub Worksheet_Change(ByVal Target As Excel.Range) 'Updated by Extendoffice 2017/10/12 Dim xRg

我正在尝试使用这里编写的VBA代码-

我已经贴在下面了:

代码似乎在一台计算机上运行得很好,但在另一台计算机上,当我在B列中进行任何更改时,似乎什么也没有发生。我的第一个想法是,可能有某种选项被禁用,但我不确定在哪里查看或如何比较两台计算机之间的设置

如有任何帮助,我将不胜感激

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updated by Extendoffice 2017/10/12
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    If (Target.Count = 1) Then
        If (Not Application.Intersect(Target, Me.Range("B:B")) Is Nothing) Then _
            Target.Offset(0, -1) = Date
        Application.EnableEvents = False
        Set xRg = Application.Intersect(Target.Dependents, Me.Range("B:B"))
        If (Not xRg Is Nothing) Then
            For Each xCell In xRg
                xCell.Offset(0, -1) = Date
            Next
        End If
        Application.EnableEvents = True
    End If
End Sub

在即时窗口中,输入
Application.EnableEvents=True
,然后按Enter键。请注意,在错误恢复下一步时使用
并不好-这只是隐藏了潜在的错误。此外,应该是
Target.CountLarge=1
而不是
Target.Count=1
。感谢您的回复。您的解决方案似乎修复了初始错误,并且日期已填充到相邻单元格中。不幸的是,它还引发了错误消息:“运行时错误:1004-未找到任何单元格”,这似乎与代码的第9行有关。您对如何解决此问题有何想法?这意味着
Target
没有任何
依赖项。