对象_Global的运行时错误1004方法相交失败

时间:2018-09-26 14:19:50

标签: excel-vba excel-2007

这是我第一次在这里发帖。多年来,我一直在慢慢学习如何利用excel 2007改善自己。我已经开始使用一些vb代码来帮助加快工作中的某些数据输入速度。因此,我在网上找到了一些代码,并从此开始。一切工作完美,直到我将相同的代码应用于更多工作表。现在我得到

  

运行时错误'1004':对象'_Global'的方法'Intersect'失败

这是我正在使用的基本版本。在不同的工作表上会有所不同。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("D:D"), Target)
xOffsetColumn = 5
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
    If Not VBA.IsEmpty(Rng.Value) Then
        Rng.Offset(0, xOffsetColumn).Value = Now + 365
        Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/yyyy"
    Else
        Rng.Offset(0, xOffsetColumn).ClearContents
    End If
Next
Application.EnableEvents = True
Else
Set WorkRng = Intersect(Application.ActiveSheet.Range("E:E"), Target)
xOffsetColumn = 4
If Not WorkRng Is Nothing Then
   Application.EnableEvents = False
   For Each Rng In WorkRng
       If Not VBA.IsEmpty(Rng.Value) Then
           Rng.Offset(0, xOffsetColumn).Value = Now + 365
           Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/yyyy"
       Else
           Rng.Offset(0, xOffsetColumn).ClearContents
       End If
   Next
   Application.EnableEvents = True
   End If
End If
End Sub

这似乎是我认为的问题

 Set WorkRng = Intersect(Application.ActiveSheet.Range("D:D"), Target)

看到我正在自学,我还是很绿的,在这一点上,任何帮助都将不胜感激。谢谢

0 个答案:

没有答案