- ">
- 本技巧的目的:掌握仅仅复制数值到另一单元格区域中的方法。
- 1. 使用代码助手
- 2. 选择性粘贴
- 3. 使用 Value 属性直接赋值
- 更多作品请百度搜索 郑广学
- EXCEL880.COM 官网下载">VBA代码助手 懒人神器 在 EXCEL880.COM 官网下载
本技巧的目的:掌握仅仅复制数值到另一单元格区域中的方法。
- 数据源:需要将以下表格,以数值形式复制到另一工作表中:
- 复制后的结果:
-
1. 使用代码助手
代码助手下载地址 [http://excel880.com/blog/archives/11297](http://excel880.com/blog/archives/11297)
双击TAB键可实现快速排版。
- 排版前:
- 排版后:
- 提高了代码的辨识度,再也不用一行行的排版,方便快捷。
- 直接在代码区 输入 复制+空格 即可以实现代码窗口的快速输入菜单:
-
2. 选择性粘贴
首先可以使用录制宏的方法:
- 停止录制宏以后,得到以下代码:
- 修改宏代码的内容:更改代码名称,增加辨识度
- Sheet6.Cells.Clear ‘清空 sheet6 工作表的内容
- Sheet1.Range(“A1”).CurrentRegion.Copy ‘sheet1 工作表 A1 开始的连续区域 复制
- Sheets(“Sheet6”).Range(“A1”).PasteSpecial Paste:=xlPasteValues
- ‘选择性粘贴到: sheet6 工作表 A1 开始的位置 xlPasteValues: 仅复制数值
- 运行以上语句后的结果:
- sheet1 工作表:
- sheet6 工作表:
- Application.CutCopyMode = False
- ‘去掉上面复制的虚线框
★★★ 注意 缺点: 会对系统造成干扰,覆盖原剪切版里的内容。
3. 使用 Value 属性直接赋值
只要源区域大小和目标区域大小一致, 就可以直接以 .Value 方法赋值。
- 为了保证目标区域与源区域一致,一般使用 Resize 方法。
- 代码如下:
- Sheet6.Cells.Clear ‘清空原 sheet6 工作表数据
- Dim 行, 列 ‘定义行,列 变量
- With Sheet1.Range(“A1”).CurrentRegion ‘位置语句开始
- ‘位置语句开始,结束中间的代码, 只需在引用的位置前面加上 . 即可
- ‘源数据区域: A1开始的连续区域
- 行 = .Rows.Count ‘该区域最大的行数
- 列 = .Columns.Count ‘该区域最大的列数
- Sheet6.Range(“A1”).Resize(行, 列) = .Value
- ‘目标区域: 按源数据的最大行数,列数 扩展: 保证区域一致性
- ‘源数据赋值: .Value
- End With ‘位置语句结束
- 结果:
- ★★★ 注意 优点: 不会对系统造成干扰,即不会覆盖原剪切版里的内容。与选择性粘贴结果一样。
更多作品请百度搜索 郑广学
VBA代码助手 懒人神器 在 EXCEL880.COM 官网下载