即使在Excel中存在多个记录,CopyFromRecordset也只能复制并粘贴到同一工作表中的第一行

时间:2018-10-23 03:54:55

标签: excel vba excel-vba adodb

我有一个Excel表,其中包含数据表

Sub SQLQUERY()

Dim QUERY As String

Dim ExcelCn As New ADODB.Connection
Dim RS As New ADODB.Recordset
SourcePath = "C:\Users\negi_tech\Desktop\sqltable.xlsx"





ExcelCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
               "Data Source=" & SourcePath & ";" & _
               "Extended Properties=""Excel 12.0;HDR=YES;"""
QUERY = "select * from [Sheet2$] WHERE [Type]='RV'"
RS.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
RS.Open QUERY, ExcelCn
RS.MoveLast
RS.MoveFirst
Range("A2:BT50000").ClearContents
Sheet2.Range("a2").CopyFromRecordset RS    

我要从同一张表复制数据,然后清除所有内容(标题除外),然后将记录集粘贴到同一张表中,但只粘贴第一行。 但是当我将同一记录集粘贴到其他工作表中时,它将粘贴所有记录

请让我知道为什么其他记录未复制到记录集中?

0 个答案:

没有答案