当我打开两个Excel文件时,Worksheet.Change不工作

正如标题所说,我的代码不起作用,当我有一个更多的Excel文件同时打开。 在我的第一个文件中,我在表1中有这个代码:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:C" & ThisWorkbook.Worksheets(1).UsedRange.Rows.Count)) Is Nothing Then Call Module1.simpleRegex End If End Sub 

如果我closures其他工作簿,这工作得很好。 我尝试添加工作簿()。激活,但它没有工作..任何build议?

你的Range是不合格的。 尝试这个:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, ThisWorkbook.Worksheets(1).Range("A1:C" & ThisWorkbook.Worksheets(1).UsedRange.Rows.Count)) Is Nothing Then Call Module1.simpleRegex End If End Sub 

我自己想清楚了。 问题是,当我closures我的Excel文件,并有另一个打开; 它没有closures我的VBA的worbook。 当我再次打开时,它显示了同样的工作簿2。

我GOOGLE了这个问题,发现一些加载项可能是问题。 我禁用了一些不需要的插件,现在它工作..