请问VBA中如何将sheet1表中的某些单元格内容复制到Sheet2中的一行

比如表1中不在同一行的表示姓名,性别,住宅,手机等内容的单元格复制过来后自动对应到一行中,并且修改一次表1后表2自动往下增加往下排列。写了一段:但不对,求解啊,谢谢
Private Sub CommandButton1_Click()

Dim i As Integer
i = 2
Do While Worksheets("sheet2").Cells(i, "c") = ""
Worksheets("sheet1").Range("c2").Copy Worksheets("sheet2").Cells(i, "c")
Worksheets("sheet1").Range("c3").Copy Worksheets("sheet2").Cells(i, "d")
Worksheets("sheet1").Range("c5").Copy Worksheets("sheet2").Cells(i, "e")
Worksheets("sheet1").Range("h6").Copy Worksheets("sheet2").Cells(i, "b")
i = i + 1
Loop

End Sub
请问如何让excel打开自动运行Private Sub CommandButton1_Click()

控件的程序呢

Private Sub CommandButton1_Click()

Dim i As Integer
i = 2
Do While Worksheets("sheet2").Cells(i, "c") <> ""
i = i + 1
Loop'找到第一个空白行。找空白行的时候不需要拷贝,所以拷贝部分放后面。
   Worksheets("sheet1").Range("c2").Copy Worksheets("sheet2").Cells(i, "c")
   Worksheets("sheet1").Range("c3").Copy Worksheets("sheet2").Cells(i, "d")
   Worksheets("sheet1").Range("c5").Copy Worksheets("sheet2").Cells(i, "e")
   Worksheets("sheet1").Range("h6").Copy Worksheets("sheet2").Cells(i, "b")

End Sub

就这么地。

追问

谢谢,不过还是不太对,每次不都复制到第2行么,不能往下加呀

追答

往下加的,除非你c2缺数据噢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-27
需求没太明白,但你下面这句写得肯定不对:
Do While Worksheets("sheet2").Cells(i, "c")

“c”这里应该是个数字,代表列数。
相似回答