image.png

本技巧的目的:掌握复制,粘贴的各种方法。

1. 代码助手

  1. 代码助手下载地址 [http://excel880.com/blog/archives/11297](http://excel880.com/blog/archives/11297)
  • 输入中文:选择性 + 空格,即可以实现弹出代码,快速输入代码的目的。也可以自己收录自己所需代码,方便下次快速调用。
  • 技巧007 复制粘贴单元格区域 - 图3

    2. 复制单元格区域到另外一个区域

  • 指定区域复制到另外一个区域:

  • 技巧007 复制粘贴单元格区域 - 图4
  • 代码如下:
  • Sub 单元格复制()
  • Application.DisplayAlerts = False ‘关闭提示对话框
  • Sheet8.Range(“A1”).CurrentRegion.Copy Sheet8.[I1] ‘复制, 粘贴
  • Application.DisplayAlerts = True ‘打开提示对话框
  • End Sub
  • 注释:
  • ★★★ 注意: 关闭提示对话框后一定要在最后打开提示对话框,否则以后所有EXCEL中进行的操作都不会弹出提示对话框!!!
  • 将 A1 开始的连续区域 复制到 I1 开始的位置
  • 运行后:
  • 技巧007 复制粘贴单元格区域 - 图5
  • 复制完成

    3. 选择性粘贴

  • 录制宏的方法:

  • 1) 开发工具-录制宏
  • 2) 复制后,选择性粘贴
  • 技巧007 复制粘贴单元格区域 - 图6
  • 技巧007 复制粘贴单元格区域 - 图7
  • 3)选择:值和数字格式
  • 4)停止录制宏
  • 5)查看代码:
  • 技巧007 复制粘贴单元格区域 - 图8
  • 修改代码为:
  • 技巧007 复制粘贴单元格区域 - 图9
  • 选择性粘贴参数:
  • 以下参数均为可选是否输入项
  • Paste:
  • xlPasteAll :粘贴全部内容。
  • xlPasteAllExceptBorders:粘贴除边框外的全部内容。
  • xlPasteColumnWidths:粘贴复制的列宽。
  • xlPasteComments:粘贴批注。
  • xlPasteFormats:粘贴复制格式。
  • xlPasteFormulas:粘贴公式。
  • xlPasteFormulasAndNumberFormats:粘贴公式和数字格式。
  • xlPasteValidation:粘贴有效性验证公式。
  • xlPasteValues:粘贴值。
  • xlPasteValuesAndNumberFormats :粘贴值和数字格式。
  • Operation:
  • xlPasteSpecialOperationAdd: 复制的数据与目标单元格中的值 相加。
  • 如:D3 开始区域复制 到 H3 开始区域中, D3 开始的区域 与 H3 区域的值 相加
  • 技巧007 复制粘贴单元格区域 - 图10
  • 选择性粘贴 选择 相加项 后结果:
  • 技巧007 复制粘贴单元格区域 - 图11
  • xlPasteSpecialOperationDivide: 复制的数据 除以 目标单元格中的值。
  • xlPasteSpecialOperationMultiply: 复制的数据 乘以 目标单元格中的值。
  • xlPasteSpecialOperationNone: 粘贴操作中不执行任何计算。
  • xlPasteSpecialOperationSubtract: 复制的数据 减去 目标单元格中的值。
  • SkipBlanks 是否将剪贴板上区域中的空白单元格粘贴到目标区域中 True:不粘贴 默认值为 False:粘贴
  • Transpose 是否转置行和列 True:转置 默认值为 False:不转置
  • 运行以下公式:
  • 复制区域改成动态区域
  • Dim n
  • Dim sht As Worksheet
  • Set sht = Sheet8 ‘设置变量: sheet8 工作表
  • n = sht.Range(“a” & Rows.Count).End(xlUp).Row ‘最大行
  • sht.Range(“A2:F” & n).Copy
  • ‘复制区域 本段为动态区域, 根据最大行的变化会自动变更区域
  • sht.Range(“J2”).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
  • xlNone, SkipBlanks:=False, Transpose:=False ‘选择性粘贴: 值和数字格式
  • sht.Range(“J2”).PasteSpecial Paste:=xlPasteColumnWidths, Operation:= _
  • xlNone, SkipBlanks:=False, Transpose:=False ‘选择性粘贴: 列宽
  • Application.CutCopyMode = False ‘取消复制虚线框
  • 运行后:
  • 技巧007 复制粘贴单元格区域 - 图12
  • 修改成:选择性粘贴格式后,结果如下:
  • 技巧007 复制粘贴单元格区域 - 图13
  • 选择性粘贴的每个参数会有不同的结果,都可以逐一测试一下。

    更多作品请百度搜索 郑广学

    VBA代码助手 懒人神器 在 EXCEL880.COM 官网下载