Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 18634|回复: 10

[已解决]用VBA实现快速的复制粘贴数值

[复制链接]
发表于 2017-10-29 10:16 | 显示全部楼层 |阅读模式
本帖最后由 mate66 于 2017-10-31 18:14 编辑

用VBA实现快速的复制粘贴数值,只要求粘贴数值。
最佳答案
2017-10-30 12:53
mate66 发表于 2017-10-29 22:49
效果对,但右击不好操作。

不自动就添加个按钮来实现呀
  1. Sub 按钮1_Click()
  2.     ActiveCell.Resize(2, 10).Copy [ba20]
  3.     ActiveCell.Offset(2).Resize(2, 10).Copy [ba27]
  4.     ActiveCell.Offset(4).Resize(2, 10).Copy [ba34]
  5. End Sub
复制代码


VBA的粘贴效果.rar

9.02 KB, 下载次数: 68

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-10-29 19:12 | 显示全部楼层
回复

使用道具 举报

发表于 2017-10-29 22:39 | 显示全部楼层
右击触发程序行不行

VBA的粘贴效果.rar

11.76 KB, 下载次数: 28

回复

使用道具 举报

 楼主| 发表于 2017-10-29 22:49 | 显示全部楼层
本帖最后由 mate66 于 2017-10-29 22:53 编辑
高 发表于 2017-10-29 22:39
右击触发程序行不行

效果对,但右击不好操作。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.EnableEvents = False
        Target.Resize(2, 10).Copy [ba20]
        Target.Offset(2).Resize(2, 10).Copy [ba27]
        Target.Offset(4).Resize(2, 10).Copy [ba34]
        Application.EnableEvents = True
End Sub



这是另一老师的代码。 能否在这个代码上改为:1.不自动的,自己选择单元格再运行代码得到结果。2.粘贴数值。
回复

使用道具 举报

发表于 2017-10-29 23:27 | 显示全部楼层
本帖最后由 高 于 2017-10-29 23:31 编辑

这个更不好操作,单元格选取改变就触发了。改数值是很好改的,自动的问题改不了。你想点复制才运行?那就不好办了。如果用按自定义快捷键倒是简单。
回复

使用道具 举报

 楼主| 发表于 2017-10-29 23:47 | 显示全部楼层
高 发表于 2017-10-29 23:27
这个更不好操作,单元格选取改变就触发了。改数值是很好改的,自动的问题改不了。你想点复制才运行?那就不 ...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.EnableEvents = False
        Target.Resize(2, 10).Copy [ba20]
        Target.Offset(2).Resize(2, 10).Copy [ba27]
        Target.Offset(4).Resize(2, 10).Copy [ba34]
        Application.EnableEvents = True
End Sub


老师,把这个代码改为粘贴数值就可以。麻烦老师改下
回复

使用道具 举报

发表于 2017-10-30 08:09 | 显示全部楼层
本帖最后由 高 于 2017-10-30 08:10 编辑

你要这样的?这是选取单元格就复制粘贴的,你要不要选取10列6行才触发的?

VBA的粘贴效果.rar

10.89 KB, 下载次数: 22

回复

使用道具 举报

 楼主| 发表于 2017-10-30 09:23 | 显示全部楼层
高 发表于 2017-10-30 08:09
你要这样的?这是选取单元格就复制粘贴的,你要不要选取10列6行才触发的?

不要自动的意思就是:不是点击就自动运行代码。再通俗点就是改为用一个按钮,点一下按钮再运行代码。
回复

使用道具 举报

发表于 2017-10-30 10:21 | 显示全部楼层
按钮的简单多了,你可以只选一个单元格就点按钮,也可以选一个区域再点按钮

VBA的粘贴效果.rar

9.68 KB, 下载次数: 100

回复

使用道具 举报

发表于 2017-10-30 12:53 | 显示全部楼层    本楼为最佳答案   
mate66 发表于 2017-10-29 22:49
效果对,但右击不好操作。

不自动就添加个按钮来实现呀
  1. Sub 按钮1_Click()
  2.     ActiveCell.Resize(2, 10).Copy [ba20]
  3.     ActiveCell.Offset(2).Resize(2, 10).Copy [ba27]
  4.     ActiveCell.Offset(4).Resize(2, 10).Copy [ba34]
  5. End Sub
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 05:25 , Processed in 0.383874 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表