大家好,本节介绍单元格对象的选择性黏贴PasteSpecial方法。
选择性黏贴也是excel中经常使用到的功能,在复制数据后根据需求进行选择性黏贴。具体的选择性黏贴选项如下:
PasteSpecial 方 法
首先需要说明在使用PasteSpecial方法之前,首先要先使用copy方法,即先有复制的数据,再进行选择性黏贴,
下面就介绍如何通过VBA代码来实现单元格对象的选择性黏贴PasteSpecial方法。先看下PasteSpecial方法的语法。
Range对象.PasteSpecial(Paste,Operation,SkipBlanks,Transpose)
四个参数均为可选项,实际就与上图中黏贴的选项相对应。
第一个paste参数,是指定黏贴的类型,默认为全部选中,参数值对应如下图所示:
第二个参数为Operation参数,即对应运算的选项,默认的是无运算,其他加减乘除对应的参数值如下:
第三个参数为SkipBlanks,即复制黏贴时是否跳过空单元格,false为不跳过(默认的),true为跳过。
第四个参数为Transpose,即复制黏贴时是否转置,false为不转置(默认的),true为转置。
示 例
1、黏贴值
下面复制已用单元格,只将值黏贴至C1单元格,第一参数设置为xlpastevalues。
Sheets(1).UsedRange.Copy
Range("c1").PasteSpecial xlPasteValues
对于代码,需要注意的是,首先将单元格复制,再选择性黏贴,第一参数选择只有值黏贴。
2、黏贴值和数字格式并转置
复制已有单元格,将值和列宽复制黏贴,并转置。
Sheets(1).UsedRange.Copy
Range("c1").PasteSpecial xlPasteValuesAndNumberFormats, , , True
对于代码,在使用参数时,第一参数选择了xlPasteValuesAndNumberFormats为黏贴值和单元格数字格式,第二参数和第三参数不需要,英文逗号间隔即可,第四参数是否转置使用true。(在书写代码时,建议直接不书写pastespecial后面的括号)
3、黏贴运算
下面假设已知营业额单位为千,乘以1000来连算成元。
Range("c1").Copy
Range("a2:a5").PasteSpecial , xlPasteSpecialOperationMultiply
首先复制c1单元格的值1000,然后选择性黏贴,在A2:A5单元格上,黏贴运算乘法。最后结果如上图所示。(在书写代码过程中,第一个参数无直接用英文逗号间隔,第三参数和第第四参数不需要,即省略,建议不书写pastespecial方法的括号)
本节介绍了选择性黏贴的pastespecial方法,并举例说明,注意在书写该方法四个参数时,如果后面没有其他参数时即可省略,如果后面有参数,前面无用参数就用英文逗号间隔即可。主要根据需要在代码中搭配不同的参数组合套用。祝大家学习快乐。
本文分享自 Excel和Access学习笔记 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!