Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 尝试获取End(xlDown)+1行时出现对象必需错误_Vba_Excel - Fatal编程技术网

Vba 尝试获取End(xlDown)+1行时出现对象必需错误

Vba 尝试获取End(xlDown)+1行时出现对象必需错误,vba,excel,Vba,Excel,我有一段代码,可以打开第一个工作簿,第二个工作簿,从第一个工作簿复制一个范围,然后粘贴到第二个工作簿中。我想让它在第二个工作簿中的粘贴区域之后选择单元格,但失败了,出现了Object required错误 我做错了什么?您不能在同一行中设置范围并选择它,请尝试下面的代码部分: copyRange.Copy With resultWorkbook.Worksheets("1") .Range("A3").PasteSpecial Paste:=xlPasteFormulas D

我有一段代码,可以打开第一个工作簿,第二个工作簿,从第一个工作簿复制一个范围,然后粘贴到第二个工作簿中。我想让它在第二个工作簿中的粘贴区域之后选择单元格,但失败了,出现了Object required错误

我做错了什么?

您不能在同一行中设置范围并选择它,请尝试下面的代码部分:

copyRange.Copy

With resultWorkbook.Worksheets("1")
    .Range("A3").PasteSpecial Paste:=xlPasteFormulas

    Dim nextRange As Range
    Set nextRange = .Range("A3").End(xlDown).Offset(1, 0) ' set the Range first

    nextRange.Select ' <-- select the Range
End With

End Sub
您不能设置范围并在同一行中选择它,请尝试下面的代码部分:

copyRange.Copy

With resultWorkbook.Worksheets("1")
    .Range("A3").PasteSpecial Paste:=xlPasteFormulas

    Dim nextRange As Range
    Set nextRange = .Range("A3").End(xlDown).Offset(1, 0) ' set the Range first

    nextRange.Select ' <-- select the Range
End With

End Sub

您需要先将nextRange设置为不带。选择,然后使用nextRange进行选择。选择您的工作表名为1,还是您正在尝试获取第一个工作表?除了其他人在同一行中所说的设置和选择之外。如果A4 Downdown为空,则返回$A$3:$F$1048576,然后尝试向下移动纸张底部的一行,导致错误。正如你在另一个问题中所说的——看起来我所有的文件在一列中都没有空单元格,所以一切都应该是好的。。。直到你找到一个不符合规则的文件。你需要先设置nextRange而不使用。选择,然后使用nextRange进行选择。选择你的工作表名为1,还是你正在尝试获取第一个工作表?除了其他人在同一行中说的设置和选择之外。如果A4 Downdown为空,则返回$A$3:$F$1048576,然后尝试向下移动纸张底部的一行,导致错误。正如你在另一个问题中所说的——看起来我所有的文件在一列中都没有空单元格,所以一切都应该是好的。。。直到你找到一个不符合规则的文件。