Range.Copy 方法 (Excel)

将区域复制到指定的区域或剪贴板。

注意

有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。

语法

expression.Copy (Destination)

expression 一个表示 Range 对象的变量。

参数

名称 必需/可选 数据类型 说明
Destination 可选 Variant 指定要将指定区域复制到的新区域。 如果省略此参数,则 Microsoft Excel 会将区域复制到剪贴板。

返回值

Variant

示例

以下代码示例将工作表 Sheet1 上单元格 A1:D4 中的公式复制到工作表 Sheet2 上的单元格 E5:H8 中。

Worksheets("Sheet1").Range("A1:D4").Copy _ 
    destination:=Worksheets("Sheet2").Range("E5:H8")

下面的代码示例检查 Sheet1 中各行 D 列中的值。 如果 D 列的值等于 A,则整行都复制到 SheetA 的下一个空行中。 如果值等于 B,则该行复制到 SheetB。

Public Sub CopyRows() 
    Sheets("Sheet1").Select 
    ' Find the last row of data 
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row 
    ' Loop through each row 
    For x = 2 To FinalRow 
        ' Decide if to copy based on column D 
        ThisValue = Cells(x, 4).Value 
        If ThisValue = "A" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetA").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        ElseIf ThisValue = "B" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetB").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        End If 
    Next x 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。