Range.CopyFromRecordset メソッド (Excel)
ADO または DAO Recordset オブジェクトの内容を、指定した範囲の左上隅からワークシートにコピーします。 Recordset オブジェクトに OLE オブジェクトを含むフィールドが含まれている場合、このメソッドは失敗します。
構文
式。CopyFromRecordset (Data, MaxRows, MaxColumns)
expression は Range オブジェクトを表す変数です。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
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 のサポートおよびフィードバックを参照してください。