2015-04-20 81 views
0

我需要將我的表格放在powerpivot模型中放到excel工作表中。如何使用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,它抱怨不允許的連接間隔)

+0

你將ConnectionName設置爲? – Steven

+0

到目前爲止我使用名稱testconn –

+0

嘗試設置.ActiveConnection =「Microsoft.ACE.OLEDB.12.0」(如果您在Win 7以上),否則爲「Microsoft.Jet.OLEDB.4.0」。 – Steven

回答

1

這是如何從命名範圍(假設'TableData'命名爲範圍)讀取記錄的示例。

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 
+0

sry但我無法得到它的工作,它不想打開記錄集... –

相關問題