如何复制粘贴所有格式和值而不使用vb a中的select

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何复制粘贴所有格式和值而不使用vb a中的select相关的知识,希望对你有一定的参考价值。

如何在不使用select的情况下复制范围。我需要一切,不仅仅是价值观。目前庞大的代码:

Function Template(x As Integer)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Range("E1:H5").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Sheets("Sheet2").Cells(1, x).Select
    ActiveSheet.Paste
End Function

谢谢!!

答案

您可以使用Range.Copyhttps://msdn.microsoft.com/en-us/library/office/ff837760.aspx)复制范围而不进行选择,例如......

Range("A1").Copy Range("A2")

将从A1A2的所有内容(包括值和格式)复制。

另一答案
Function Template(x As Integer)
    Dim sourceRange As Excel.Range
    Dim destinationRange As Excel.Range

    Set sourceRange = Sheets("Sheet1").Range("E1:H5")
    Call sourceRange.Copy


    Set destinationRange = Sheets("Sheet2").Cells(1, x)
    Call destinationRange.PasteSpecial(xlPasteAll)

End Function

以上是关于如何复制粘贴所有格式和值而不使用vb a中的select的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 assert_frame_equal() 断言数据框中的所有值而不退出失败

VB如何利用剪贴板复制、粘贴文件,用到啥API

vb如何做剪切、复制、粘贴按钮

VBA - 复制粘贴单词表而不合并

如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]

如何使用 jq 提取数字格式的浮点值而不是指数值?