Método Range.CopyFromRecordset (Excel)

Copia o conteúdo de um objeto Recordset da ADO ou o DAO em uma planilha, começando no canto superior esquerdo do intervalo especificado. Se o objeto Recordset tiver campos contendo objetos OLE, esse método falhará.

Sintaxe

expressão. CopyFromRecordset (dados, MaxRows, MaxColumns)

expressão Uma variável que representa um objeto de Intervalo.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Dados Obrigatório Variantes O objeto Recordset a ser copiado no intervalo.
MaxRows Opcional Variant O número máximo de registros a serem copiados na planilha. Se esse argumento for omitido, todos os registros no objeto Recordset serão copiados.
MaxColumns Opcional Variant O número máximo de campos a serem copiados para a planilha. Se esse argumento for omitido, todos os campos no objeto Recordset serão copiados.

Valor de retorno

Long

Comentários

A cópia começa na linha atual do objeto Recordset. Após a conclusão da cópia, a propriedade EOF do objeto Recordset será True. É recomendável que você defina uma variável de objeto para o intervalo ao qual você está copiando do conjunto de registros. Não fazer isso pode causar erros genéricos de automação, dependendo do conjunto de registros e do intervalo.

Exemplo

Este exemplo copia os nomes de campo de um objeto Recordset do DAO na primeira linha de uma planilha e formata os nomes em negrito. Em seguida, o exemplo copia o conjunto de registros na planilha, começando na célula 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.