Excel VBAselect工作表和范围在我的一个子例程不工作

我不断收到错误,“select范围类失败的方法”和来自行(“2:2”)的意外结果。

下面的代码

Worksheets("Sheet3").Select Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("D4").Select 

首先将新行添加到Sheet 1而不是Sheet 3,然后Range不能select1004错误。 我已经使用这个确切的脚本来select其他工作表和范围没有问题。 我可以为任何人提供完整的文件和代码

避免使用。select。 你可能想看到这个

还要确保您的工作表是不受保护的。

这是你正在尝试?

 Worksheets("Sheet3").Rows(2).Insert Shift:=xlDown, _ CopyOrigin:=xlFormatFromLeftOrAbove 

下面的代码工作,定义工作表,而不是使用Select (第一次):

 Dim sht3 As Worksheet Set sht3 = ThisWorkbook.Sheets("Sheet3") sht3.Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove sht3.Range("D4").Select 

当你使用select时,你会一直确保特定的表单处于活动状态。 如果没有激活它使用激活属性。 下面是做这项工作的代码

 Worksheets("Sheet3").Activate Worksheets("Sheet3").Select Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("D4").Select