EXCEL 怎么用VBA实现:复制sheet1里面的A1,B2,C3单元格到sheet2里的A1,B2,C3??

还有一个问题,能不能在sheet1界面完成上面步骤后,把单元格选定框停留在sheet2中的A1单元格??请高手指点(不能用单个复制的方法,要适用于任意的几个不相邻的单元格)

Sub a()
Set sh1 = Sheet1
Set sh2 = Sheet2
sh1.Range("a1").Copy sh2.Range("a1")
sh1.Range("b2").Copy sh2.Range("b2")
sh1.Range("c3").Copy sh2.Range("c3")
sh2.Select
sh2.Range("a1").Select
End Sub追问

谢谢你的回答,,是我没有说清楚,我不想用这种单独复制的方法,,有没有一种方法可以一起实现呢?类似range("a1,b2,c3"),,不一定是这三个单元格,可以是任意的不相邻的单元格都能用的

追答

Sub c()
Application.ScreenUpdating = False
Set sh1 = Sheet1
Set sh2 = Sheet2
sh1.Select
sh1.Range("A1, b2,c3").Select
For Each Rng In Selection
sh1.Range(Rng.Address).Copy sh2.Range(Rng.Address)
Next
sh2.Select
sh2.Range("a1").Select
Application.ScreenUpdating = True
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-27
实验是可以的。

Sub test()

Dim i As Integer
Dim j As Integer
For i = 1 To 3
j = i
Worksheets("Sheet1").Cells(i, j).Copy _
Destination:=Worksheets("Sheet2").Cells(i, j)
Next
Worksheets("Sheet2").Select
Worksheets("Sheet2").Cells(1, 1).Select

End Sub追问

我这里是举个例子刚好I=J, 那如果是A2,B3,C5三个单元格呢?不要用单独复制一个单元格的方法

追答

Sub test()

Dim i As Integer
Dim j As Integer
Dim s As Object
For Each s In Sheet1.Range("A1, b3,c5")
i = s.Row
j = s.Column
s.Copy Worksheets("sheet2").Cells(i, j)
Next

Worksheets("Sheet2").Select
Worksheets("Sheet2").Cells(1, 1).Select

End Sub

随便选择单元格

第2个回答  2014-04-27
sheet2 A1 =sheet1!A1 B2=sheet1!B2 C3=sheet1!C3
第3个回答  2019-09-04
其实你已经举得差不多了,下面的也只是变形:
range(cells(1,1),
cells(100,1))
如果获取a1周围一块的空间,可以:
range("a1").currentregion
如果获取表内所有使用区域,可以:
activesheet.usedrange
相似回答