Range.CopyFromRecordset 方法 (Excel)

将 ADO 或 DAO Recordset 对象的内容复制到工作表中(从指定区域的左上角开始)。 如果 Recordset 对象包含具有 OLE 对象的字段,则该方法无效。

语法

expression.CopyFromRecordset (Data, MaxRows, MaxColumns)

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

参数

名称 必需/可选 数据类型 说明
Data 必需 Variant 复制到范围中的 Recordset 对象。
MaxRows 可选 Variant 复制到工作表中的记录数上限。 如果此参数被省略,便会复制 Recordset 对象中的所有记录。
MaxColumns 可选 Variant 复制到工作表中的字段数上限。 如果此参数被省略,便会复制 Recordset 对象中的所有字段。

返回值

Long

注释

复制是从 Recordset 对象的当前行开始进行。 复制完成后,Recordset 对象的 EOF 属性为 True。 建议将对象变量设置为要从记录集复制到的区域。 否则可能会导致一般自动化错误,具体取决于记录集和范围。

示例

下面的示例将 DAO Recordset 对象中的字段名称复制到工作表的第一行,并将这些名称的格式设为粗体。 然后,本示例从 A2 单元格开始将记录集复制到工作表中。

For iCols = 0 to rs.Fields.Count - 1 
 ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name 
Next 
ws.Range(ws.Cells(1, 1), _ 
 ws.Cells(1, rs.Fields.Count)).Font.Bold = True
Set PushRange = ws.Range("A2")
PushRange.CopyFromRecordset rs

支持和反馈

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