先把简单的代码发下Sub xx()
Dim sh1, sh2
Set sh1 = Worksheets("list")
Set sh2 = Worksheets("Sheet1")
Dim i As Integer
Dim j As Integer
For i = 2 To 603
For j = 2 To 538
If sh1.Cells(i, 2) = sh2.Cells(j, 2) Then
'sh1.Activate 大家注意这儿
sh1.Cells(i, 24) = sh2.Cells(j, 13)
sh1.Cells(i, 25) = sh2.Cells(j, 14)
' sh2.Activate
sh2.Cells(j, 2).Font.Color = RGB(255, 0, 0)
End If
Next
Next
End Sub
一运行开始正常,到四百多时就提法错误1004,程序定义或定义对象错误,第一次支行时没有加sh1.Activate,我想了下,加上了激活表那一句,第一个表就OK了,但是第二个表加个了sh1.Activate这一句,错误1004又出来了,这是什么问题??
想了半天,语句应该没有问题,而且我一按CTRL+C它就会提示本表不能再使用其它字体,很有点儿头大,就把所有的数据全复制到别外的表中去运行VBA,结果很好,大家说下,这个问题它到底是EXCEL表那个设置出了问题,怎么改?
Dim sh1, sh2
Set sh1 = Worksheets("list")
Set sh2 = Worksheets("Sheet1")
Dim i As Integer
Dim j As Integer
For i = 2 To 603
For j = 2 To 538
If sh1.Cells(i, 2) = sh2.Cells(j, 2) Then
'sh1.Activate 大家注意这儿
sh1.Cells(i, 24) = sh2.Cells(j, 13)
sh1.Cells(i, 25) = sh2.Cells(j, 14)
' sh2.Activate
sh2.Cells(j, 2).Font.Color = RGB(255, 0, 0)
End If
Next
Next
End Sub
一运行开始正常,到四百多时就提法错误1004,程序定义或定义对象错误,第一次支行时没有加sh1.Activate,我想了下,加上了激活表那一句,第一个表就OK了,但是第二个表加个了sh1.Activate这一句,错误1004又出来了,这是什么问题??
想了半天,语句应该没有问题,而且我一按CTRL+C它就会提示本表不能再使用其它字体,很有点儿头大,就把所有的数据全复制到别外的表中去运行VBA,结果很好,大家说下,这个问题它到底是EXCEL表那个设置出了问题,怎么改?
如果LZ非要调这个的话,把出错的工作簿上传到一个地方,大家帮忙看看。光看你说的错误提示,无法判断。
应该先把值赋值的数组,然后进行操作,这样的运行效率高,而且还可能解决出现的问题。