次の方法で共有


Range.CopyFromRecordset メソッド (Excel)

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

構文

CopyFromRecordset (Data, MaxRows, MaxColumns)

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

パラメーター

名前 必須 / オプション データ型 説明
Data 必須 バリアント型 セル範囲にコピーする 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 のサポートおよびフィードバックを参照してください。