如何用vba复制单元格区域时大小保持一致?

经常要用vba在不同的工作表之间复制内容。

有时候我们需要原单元格区域的内容复制到新的单元格区域后保持大小、位置等都不变化,也就是要一模一样。

如果涉及到合并单元格,同时单元格区域中还有图形时,直接用COPY复制过去大小往往不一致。

这里提供一种思路:复制时先把列宽复制过去,然后整行内容一起复制,同时删除多余部分即可。

以下是一个示例代码:

Sub exceloffice()
    '作者QQ:1722187970,微信:xycgenius,公众号:水星Excel
    Dim owk As Worksheet
    Set owk = Excel.ActiveSheet
    iRow = 20
    With owk
        .Range("a1:n13").Copy
        .Range("a" & iRow).PasteSpecial xlPasteColumnWidths
        .Range("a1:n13").EntireRow.Copy .Range("a" & iRow)
    End With
End Sub
       

发表评论