相交命令失败,具有不同的图纸范围

我试图创build一个自我更新下拉列表。 为了达到这个目的,我find了一个代码,并将其改写为我的工作簿。 如果代码在名为“default”的工作表中,但是当我尝试将其redirect到另一个工作表时,它会在下面的代码中进行填充,出现此错误(方法'intersect'object'_global failed“

如果相交(Target,Worksheets(“default”)。Range(“c”&count_cells + 1))是Nothing

Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Dim count_cells As Integer Dim new_value As String Dim old_value As String For count_cells = 1 To Worksheets("default").Range("c2:c400").CurrentRegion.Rows.Count - 1 If Intersect(Target, Worksheets("default").Range("c" & count_cells + 1)) Is Nothing Then Else Application.EnableEvents = False new_value = Target.Value Application.Undo old_value = Target.Value Target.Value = new_value Range("AS:AS").Select Selection.Replace What:=old_value, Replacement:=new_value, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Target.Select End If Next count_cells Application.EnableEvents = True Application.ScreenUpdating = True End Sub 

如果两个范围在同一工作表上,则只能使用Intersect() 。 例如:

 Sub IntersectTest() Dim r1 As Range, r2 As Range, r3 As Range Set r1 = Sheets("Sheet1").Range("A1") Set r2 = Sheets("Sheet2").Range("A1") Set r3 = Intersect(r1, r2) End Sub 

会失败………..就像你的代码一样。