excel vba范围单元格错误对象已定义
我一直在使用Excel中的一个宏,该宏在一个工作表(“次要”)中对一个表进行排序,当满足条件时,它应该将该表中的数据添加到第二个工作表(“工作表1”)中的另一个表中,但我一直在运行1004错误“未定义对象”,我不明白为什么,请帮助。谢谢excel vba范围单元格错误对象已定义,vba,excel,Vba,Excel,我一直在使用Excel中的一个宏,该宏在一个工作表(“次要”)中对一个表进行排序,当满足条件时,它应该将该表中的数据添加到第二个工作表(“工作表1”)中的另一个表中,但我一直在运行1004错误“未定义对象”,我不明白为什么,请帮助。谢谢 Sub ord_esp_aprob() a = Worksheets("Minor").Cells(Rows.Count, 1).End(xlUp).Row b = Worksheets("Sheet1").Cells(Rows.Count, 4).En
Sub ord_esp_aprob()
a = Worksheets("Minor").Cells(Rows.Count, 1).End(xlUp).Row
b = Worksheets("Sheet1").Cells(Rows.Count, 4).End(xlUp).Row + 1
For i = 3 To a
If Worksheets("Minor").Cells(i, 1).Value = "Orden en Espera de Aprobación" Then
Worksheets("Sheet1").Range(Cells(b, 4)).Value = Worksheets("Minor").Range(Cells(i, 2)).Value '(This is where the error occurs)
Worksheets("Sheet1").Activate
End If
Next i
End Sub
设置以下值时缺少范围引用:
Worksheets("Sheet1").Range(Cells(b, 4)).Value
试试这个:
Option Explicit
Sub ord_esp_aprob()
Dim a As Long
Dim b As Long
Dim i As Long
Dim sht_minor As Worksheet
Dim sht_sht1 As Worksheet
Set sht_minor = ThisWorkbook.Worksheets("Minor")
Set sht_sht1 = ThisWorkbook.Worksheets("Sheet1")
a = sht_minor.Cells(sht_minor.Rows.Count, 1).End(xlUp).Row
b = sht_sht1.Cells(sht_sht1.Rows.Count, 4).End(xlUp).Row + 1
For i = 3 To a
If sht_minor.Cells(i, 1).Value = "Orden en Espera de Aprobación" Then
sht_sht1.Cells(b, 4).Value = sht_minor.Cells(i, 2).Value
sht_sht1.Activate
End If
Next i
End Sub
你好,谢谢!我刚试过,但还是有同样的错误。。。如果我将单元格(,)更改为固定范围,如“A7”,它会工作,所以我猜问题出在单元格(,)的Syntax中,但我在工作之前和工作中都是这样使用的。。所以我不知道。更新了代码,你能再试一次吗请告诉我上次更新是否有效。就这样,谢谢!虽然我仍然不明白为什么我使用的方法不起作用。检查我的代码,你可以看到你实际上不需要使用
范围
方法,然后是单元格
,也可以尝试引用你的所有范围,看看代码,所有范围引用都从实际工作簿开始,然后是工作表名称,最后是范围!