Dzwebs.Net

撰写电脑技术杂文十余年

vba与选择性粘贴的结合使用

Admin | 2012-9-5 10:40:10 | 被阅次数 | 21891

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  选择性粘贴是电子表格,通过如下的方法,你可以实现用VBA来操作选择性粘贴的功能。

  一、语法

  PasteSpecial 方法

  解释:将剪贴板中的 Range 对象粘贴到指定区域中。

  语法:expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)

  expression      必需。该表达式返回一个 Range 对象。

  Paste      XlPasteType 类型,可选。指定要粘贴的区域部分。

  XlPasteType 可为以下 XlPasteType 常量之一。 ]

  xlPasteAll 默认值                         '全部

  xlPasteAllExceptBorders               ’边框除外

  xlPasteColumnWidths                   ’列宽

  xlPasteComments                       ’批注 

  xlPasteFormats                        ‘格式

  xlPasteFormulas                       ’公式 

  xlPasteFormulasAndNumberFormats       ‘公式和数字格式 

  xlPasteValidation                     ’有效性验证 

  xlPasteValues                         ‘数值 

  xlPasteValuesAndNumberFormats         ’值和数字格式

  Operation      XlPasteSpecialOperation 类型,可选。指定粘贴操作。

  XlPasteSpecialOperation 可为以下 XlPasteSpecialOperation 常量之一。

  xlPasteSpecialOperationAdd              ‘加 

  xlPasteSpecialOperationDivide           ’除 

  xlPasteSpecialOperationMultiply         ‘乘 

  xlPasteSpecialOperationNone 默认值       ‘无

  xlPasteSpecialOperationSubtract         ‘减

  SkipBlanks      Variant 类型,可选。若为 True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中。默认值为 False。

  Transpose      Variant 类型,可选。若为 True,则粘贴区域时转置行和列。默认值为 False。

  二、使用示例

  Sub 第一个例子()  '将B2单元格的公式复制,并选择性粘贴到A2单元格

  Range("B2").Copy 

      Range("A2").PasteSpecial Paste:=xlPasteValues

  End Sub

  Sub 第二个代码例子()  '将C4单元格的值与e2:E4单元格的和粘贴到E2:E4

  Range("C4").Copy 

  Range("E2:E4").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd

  End Sub

  Sub第三个例子()    '将A2:A6单元格的内容转置粘贴到以D8开始的单元格区域 

  Range("A2:B6").Copy 

   Range("D8").PasteSpecial Transpose:=True

  End Sub

  再来一个例子。下面的例子功能是:123页的内容拷贝到456页

  Sub MYtest()

          Dim I, arr

          Sheets("123").Select

          I = Range("I65536").End(xlUp).Row

          arr = Range("a3:Ao" & I)

          Sheets("456").Select

          Range("a3").Resize(UBound(arr), UBound(arr, 2)) = arr

  End Sub


该杂文来自: Excel杂文

上一篇:2级动态数据有效性代码示例

下一篇:VBA控制图表之获取图表个数、颜色、添加新图表等

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计