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

2013-06-19 09:51 阅读 448 次 评论关闭

选择性粘贴是电子表格,通过如下的方法,你可以实现用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 VBA:vba与选择性粘贴的结合使用 | 猎微网

评论已关闭!