如何在vba中调用选择性粘贴的功能?

如下图所示,

1

选择性粘贴可以实现很多功能,比如将单元格内容转置,跳过空单元格等等。

在vba中可以通过调用range对象的PasteSpecial方法

它的语法如下

expression . PasteSpecial( Paste , Operation , SkipBlanks , Transpose )

其中Paste参数表示要粘贴的数据类型,可以是全部,可以是公式,也可以仅仅是数值。

Operation参数表示是否要执行相应的加减乘除运算。

SkipBlanks参数表示是否跳过空单元格。

Transpose参数表示是否转置。

如下图所示,如果要将单元格区域A1:B7转置成单元格区域D1:J2,可以使用如下的代码

2

Sub QQ1722187970()
    Dim oWK As Worksheet
    Set oWK = Excel.Worksheets("Sheet1")
    Dim oRng As Range
    Set oRng = oWK.Range("a1").CurrentRegion
    oRng.Copy
    oWK.Range("d1").PasteSpecial Paste:=xlPasteAll, operation:=xlPasteSpecialOperationNone, skipblanks:=False, Transpose:=True
End Sub

 

       

发表评论