Range.CopyFromRecordset メソッド (Excel)

ADO オブジェクトまたは DAO Recordset オブジェクトの内容を、指定した範囲の左上隅からワークシートにコピーします。 Recordset オブジェクト に OLE オブジェクトが含まれるフィールドが含まれている場合、このメソッドは失敗します。

構文

.CopyFromRecordset (Data, MaxRows, MaxColumns)

expressionRange オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
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 
ws.Range("A2").CopyFromRecordset rs

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。