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 支持和反馈,获取有关如何接收支持和提供反馈的指南。