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中随意设置数据,使用不同的选项粘贴,看看实际效果,这儿就不一一举例了。

相关资源:Excel拆分&合并工具

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

如何使用VBA选中工作表中不带公式的单元格,谢谢

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

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

VBA - 仅将可见单元格从工作表复制到另一个工作表

VBA复制最后一行范围并粘贴到另一个工作表

MAC VBA尝试从每个工作表中剪切一个单元格并粘贴到下一个空单元格中的另一张表中