VBA研究关于复制粘贴的语句

Posted 宋哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA研究关于复制粘贴的语句相关的知识,希望对你有一定的参考价值。

作者:iamlaosong

做一个工作表拆分和合并的工具,必然会用到复制粘贴语句。最简单的就是普通的直接复制粘贴,但有时也需要用到选择性粘贴,特别是原数据格式比较复杂,希望新生成的数据简单一点,比如直接复制数值。有时候格式复杂的文档完全复制粘贴后,新生成的文件还会无法打开。

1、直接复制

(1)Range("F1:H5").Copy Range("F15")

(2)Rows("1:5").Copy Range("A15")

(3)ActiveSheet.Rows("1:5").Copy Range("A15")

(4)Sheets(stNum).Rows(pos_row1 & ":" & MaxRow).Copy Range("A" & row1)

上面(2)和(3)是一样的,写法不同,参见(4)。

2、先复制后粘贴,特别适合粘贴多份

ActiveSheet.Range("F1:H5").Copy
Range("F15").Paste

3、复制后,选择目标,然后粘贴。

ActiveSheet.Range("F1:H5").Copy
Range("F15").Select
ActiveSheet.Paste

4、选择性粘贴,需要先复制,然后根据参数进行粘贴

(1)ActiveSheet.Range("F1:H5").Copy
        Range("F15").Select
        Selection.PasteSpecial Paste:=xlPasteValues

(2)ActiveSheet.Range("F1:H5").Copy
        Range("F15").PasteSpecial Paste:=xlPasteValues

5、关于选择性粘贴用到的参数,见下图

 为方便理解,再将上图解释如下:
全部:粘贴所有内容,包括文本、格式、边框、公式、批注等,相当于直接粘贴。
公式:只粘贴文本和公式,不粘贴其它如格式、边框、批注等。如果复制的单元格中的公式相
对引用了其它单元格,那么粘贴的单元格相应引用的单元格的相对位置与源公式相同。
数值:只粘贴数值,尽管所复制的单元格中的内容是公式计算的结果。
格式:只粘贴格式,不改变粘贴单元格内容。
批注:只粘贴所复制单元格的批注,不改变粘贴单元格内容和格式。
有效性验证:只粘贴有效性验证的内容。
边框除外:粘贴除边框外的所有内容。
列宽:使粘贴单元格与所复制的单元格列宽相同。
公式和数字格试:只粘贴公式和数字格式。
值和数字格式:粘贴值并带数字格式。
有兴趣的朋友可以在Excel中随意设置数据,使用不同的选项粘贴,看看实际效果,这儿就不一一举例了。

以上是关于VBA研究关于复制粘贴的语句的主要内容,如果未能解决你的问题,请参考以下文章

VBA复制粘贴到新工作表,If语句和转置

Excel VBA在循环内复制和粘贴循环

VBA宏数据粘贴多张表

使用 Excel VBA 实现复制 粘贴 和保存,并自动运行VBA

过滤列中的 VBA 粘贴公式

用VBA编写复制功能,能不能只粘贴值,不粘贴格式