Excel VBA选择我的一个子例程中的工作表和范围不起作用

时间:2016-07-28 14:00:06

标签: excel vba excel-vba

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

以下代码

Worksheets("Sheet3").Select

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

Range("D4").Select

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

3 个答案:

答案 0 :(得分:0)

避免使用.Select。您可能希望看到This

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

这是你在尝试什么?

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

答案 1 :(得分:0)

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

Dim sht3 As Worksheet

Set sht3 = ThisWorkbook.Sheets("Sheet3")

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

答案 2 :(得分:0)

当您使用select时,您将始终确保特定工作表处于活动状态。如果没有使用activate属性激活它。以下是完成工作的代码

Worksheets("Sheet3").Activate

Worksheets("Sheet3").Select

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

Range("D4").Select