大众计算机学习网

专门提供各种电脑教程

vba复制被选择的单元格或区域内容粘贴数据到另外一个表

Admin | 2009-10-22 12:44:32 | 被阅次数 | 25140

  我们如何才能做到,在Sheet1表里面,使用鼠标选择某个单元格、选择某行或多行、选择某列或多列,甚至是拖选部分单元格,然后,被选中的单元格的内容,自动被复制,最后粘贴到Sheet2里面的位置一样的区域里面呢?

  这个方法很简单,我们使用VBA来实现吧!

  首先,右键点击Sheet1,在弹出的快捷菜单中,选择“查看代码”,如下图!

  然后,会弹出VBA代码编写窗口!

  接下来,您就把如下的代码,复制粘贴到VBA代码编写窗口就行了!

  Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
   Application.OnKey "^{a}", ""
   Dim MyRangeArddress As String
   MyRangeArddress = Target.Address
   Sheet2.Cells.Value = ""
   'Sheet2.Range(MyRangeArddress).Value = ""
   Sheet2.Range(MyRangeArddress).Value = Sheet1.Range(MyRangeArddress).Value
  End Sub

  最后,记得保存您的EXCEL文件,再次打开,效果就出来了! 

  下面,俺对代码作个简要的说明!

  Application.OnKey "^{a}", "" 代码功能是:禁用CTRL+A组合键全选所有单元格,因为全选,使用如上代码,速度会很慢;

  Sheet2.Cells.Value = "" 代码功能是:清空Sheet2里面的所有单元格的内容,但是不删除格式或公式!

  Sheet2.Range(MyRangeArddress).Value = Sheet1.Range(MyRangeArddress).Value 代码功能是:把Sheet1中被选中的单元格的内容,粘贴到Sheet2中位置完全一样的单元格中。