Método Range.CopyFromRecordset (Excel)

Copia el contenido de un objeto Recordset ADO o DAO en una hoja de cálculo, comenzando en la esquina superior izquierda del rango especificado. Si el objeto Recordset contiene campos con objetos OLE, este método no se completará con éxito.

Sintaxis

expression.CopyFromRecordset (Data, MaxRows, MaxColumns)

expresión Variable que representa un objeto Range.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Datos Obligatorio Variant Objeto Recordset que se copiará en el intervalo.
MaxRows Opcional Variant Número máximo de registros que se copiarán en la hoja de cálculo. Si omite este argumento, se copiarán todos los registros del objeto Recordset.
MaxColumns Opcional Variant Número máximo de campos que se copiarán en la hoja de cálculo. Si omite este argumento, se copiarán todos los campos del objeto Recordset.

Valor devuelto

Long

Observaciones

La copia comienza en la fila actual del objeto Recordset. Al finalizar la copia, la propiedad EOF del objeto Recordset será True. Se recomienda establecer una variable de objeto en el intervalo al que se va a copiar desde el conjunto de registros. Si no lo hace, pueden producirse errores de automatización genéricos en función del conjunto de registros y del intervalo.

Ejemplo

En este ejemplo se copian los nombres de campo de un objeto DAO Recordset en la primera fila de una hoja de cálculo y se ponen en negrita. Después, se copia el conjunto de registros en la hoja de cálculo, comenzando en la celda 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.