excel2010 VBA 赋值时报错:“应用程序定义或对象定义错误”

完整代码如下:

Sub 企业信息排序整理()
i = k = 2 ‘i 为“部件编号”表计数变量,k 为“部件-企业信息”表计数变量
For i = 2 To 81
j = 2 ’ j 为“企业信息”表计数变量
t = 1 ‘ t 为内层循环终止条件
Do
If Worksheets("企业信息").Cells(j, 1) = Worksheets("部件编号").Cells(i, 2) Then
Worksheets("部件-企业信息").Cells(k, 1) = Worksheets("部件编号").Cells(i, 1):
Worksheets("部件-企业信息").Cells(k, 2) = Worksheets("部件编号").Cells(i, 2):
Worksheets("部件-企业信息").Cells(k, 3) = Worksheets("企业信息").Cells(j, 2):
Worksheets("部件-企业信息").Cells(k, 5) = Worksheets("企业信息").Cells(j, 3):
Worksheets("部件-企业信息").Cells(k, 6) = Worksheets("企业信息").Cells(j, 4):
Worksheets("部件-企业信息").Cells(k, 7) = Worksheets("企业信息").Cells(j, 5)
End If
j = j + 1
t = t + 1
k = k + 1
Loop Until t > 7
Next i
End Sub

其中,“部件-企业信息”是个空表。我要做的是当“企业信息”和“部件编号”中的数据一致时,将相应信息赋值到“部件-企业信息”表中去。可是运行到 Worksheets("部件-企业信息").Cells(k, 1) 时总会报错。错误1004:应用程序定义或对象定义错误:

求大神指点,万分感谢!
最新回答
汝嫣澍茵

2024-10-18 05:17:38

Worksheets("部件-企业信息").Cells(k, 1) = Worksheets("部件编号").Cells(i, 1)
你的 k=i ,所以你这相当于 Ax=Ax
追问
可是这是两张表啊。是把一个表里的A2赋值给另一个表的A2
追答
看错了
我知道是怎么回事了,你上边 i = k = 2,k的值没有进去,所以下边的Cells(k,1)都有问题。
你把 i = k = 2 改成
i=2
k=2
追问
可以了,谢谢!^_^