簡體   English   中英

如何使用VBA將PowerPivot表復制到Excel工作表中?

[英]How to copy a powerpivot table down to an excel sheet with vba?

我需要將表在powerpivot模型中放到Excel工作表中。

到目前為止,我已經嘗試過使用Recordset,但是無法獲得PowerPivot表的ActiveConnection。 可能嗎? 還是有其他更好的方法可以做到這一點?

我使用以下代碼:

Dim name As ADODB.Recordset
Set name = New ADODB.Recordset

With name
       .ActiveConnection = ConnectionName
       .Source = "TableName"
       .LockType = adLockReadOnly
       .CursorType = adOpenForwardOnly
       .Open
End With

但是,通過這段代碼,我在.ActiveConnection處遇到錯誤。 (運行時錯誤3001,它抱怨不允許的連接間隔)

這是一個如何從命名范圍讀取記錄的示例(假設'TableData'被命名為range)。

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

With cn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";" & _
        "Extended Properties=Excel 8.0;"
    .Open
End With

rs.Open "SELECT * FROM [TableName]", cn

Dim r

For Each r In rs.GetRows

    'Do whatever you want per record
    Debug.Print r

Next r

rs.Close
cn.Close

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM