Excel 如何在非常简单的代码中修复运行时错误1004?

Excel 如何在非常简单的代码中修复运行时错误1004?,excel,vba,Excel,Vba,我有一些世界上最简单的代码,但我不明白为什么excel会向我抛出一些错误/ 我尝试了一些函数等,但仍然有这个错误 在A列的表2中,我有值 Ra S S 为什么设置rngcells不起作用 还有!请您帮助理解以下内容: checkvalue=Sheets(“Sheet2”)。单元格(Sheets(“Sheet2”)。Rows.Count,“A”)。End(xldown)。Row,我收到了一些疯狂的数字,而我应该跳转到最后一个填充的单元格,并且只有3个填充的单元格?为什么使用xlUp为最后填充的

我有一些世界上最简单的代码,但我不明白为什么excel会向我抛出一些错误/

我尝试了一些函数等,但仍然有这个错误

在A列的表2中,我有值

Ra
S
S

为什么设置rngcells不起作用

还有!请您帮助理解以下内容:


checkvalue=Sheets(“Sheet2”)。单元格(Sheets(“Sheet2”)。Rows.Count,“A”)。End(xldown)。Row
,我收到了一些疯狂的数字,而我应该跳转到最后一个填充的单元格,并且只有3个填充的单元格?为什么使用
xlUp
为最后填充的行提供正确的值?

您没有在Set语句中为
范围的第二次调用定义工作表名称

试试看:

With Worksheets("Sheet2")

Set rngcells = .Range("A1", .Range("A1").End(xlDown))

End With

这将为您提供从
A1开始向下的最后一行。

checkvalue = Sheets("Sheet2").Range("A1").End(xlDown).Row

checkvalue=Sheets(“Sheet2”).Cells(Sheets(“Sheet2”).Rows.Count,“A”).End(xlUp)。如果列A中只有3个已填充的单元格,则行
还应为您提供正确的最后一行。或许可以查看电子表格以了解情况。发布数据截图。

Mikku,非常感谢!为了编辑问题,我应该添加Set rngcells=Sheets(“Sheet2”).Range(“A1”,Sheets(“Sheet2”).Range(“A1”).End(xlDown))?是的,就是这样。因此,如果您使用之前的语句,您应该在
Sheet2
上才能使用它。如果任何其他工作表被激活,它将无法工作。您在
checkvalue=Sheets(“Sheet2”).Cells(Sheets(“Sheet2”).Rows.Count,“A”).End(xldown)。Row
中遇到问题的原因是,您返回了A列中的
.Rows.Count
,然后使用
.End(xldown)
,这无疑会把你带到床单的底部。使用
.End(xlUp)
的代码块中的代码应准确返回。使用
.End(xlDown)
就像选择A列中的最后一个单元格并按下键盘上的Ctrl键一样。
checkvalue = Sheets("Sheet2").Range("A1").End(xlDown).Row