关于excel vba 行复制的问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:49:04
我想把工作簿3中的第i行复制到工作表中的第k行,下面的语句运行是老是出错,请问怎么修改可以实现?
Worksheets(2).Range("a" & k, "m" & k).Value = Worksheets(3).Range("a" & i, "m" & i).Value
我使用了下列代码,编译时出错,提示运行时错误‘1004’应用车徐定义或对象定义错误
我的目的是把第三个表的符合条件的行数据复制到第二个表中
Private Sub TextBox1_Change()
Dim i, j, k
k = 0
Worksheets(2).Range("a1:m1").Value = Worksheets(3).Range("a1:m1").Value
TiaoMa = TextBox1.Text
j = Worksheets("temp").Range("a65536").End(xlUp).Row
For k = 0 To 26
For i = 0 To j
If Worksheets(3).Cells(i + 2, 1).Value = TiaoMa Then Worksheets(2).Range("a" & k, "m" & k).Value = Worksheets(3).Range("a" & i, "m" & i).Value

Next i
Next k

End Sub

我用如下代码试了,没有报错呀。把第三个工作表的 A5:M5 的数据复制到第二个工作表的 A2:M2 区域。
不知楼主的报错是什么内容?

Sub Macro1()
Dim k As Integer, i As Integer
k = 2
i = 5
Worksheets(2).Range("a" & k, "m" & k).Value = Worksheets(3).Range("a" & i, "m" & i).Value
End Sub
----------------
楼主的代码比较高深,在下未能完全体会其中算法,呵呵。
不过报的错误,我测试出来了,原因在于:“For k = 0 To 26”和 IF子句中的“……Range("a" & k, "m" & k).Value”,会出来 Range(A0,M0)的情况,此时就会报错“对象定义错误”了。