2011-11-26 86 views
2

我有代碼來選擇每個工作表下的數據透視表名稱。我想知道如何獲取每個數據透視表的數據連接名稱。從excel獲取連接名稱vba

Dim ws As Worksheet 
Dim pvt As PivotTable 
Dim pvf As PivotField 
Dim pvi As PivotItem 
Dim x As String 
Dim conn As WorkbookConnection 

Application.ScreenUpdating = False 

Worksheets("Log").Activate 
Columns("H:L").Select 
i = 1 
For Each ws In ActiveWorkbook.Worksheets 
    If ws.PivotTables.Count > 0 Then 
    For Each pvt In ws.PivotTables 
     ActiveCell.Offset(i, 0) = ws.Name 
     ActiveCell.Offset(i, 1) = pvt.Name 
     'ActiveCell.Offset(i, 2) = conn.Name 
     i = i + 1 
    Next pvt 
    End If 
Next ws 
+0

您能指定「數據連接名稱」的含義,並且可以粘貼數據的前幾行嗎? – abcde123483

回答

1

爲了得到當前透視表的數據連接的名稱,使用此:

pvt.PivotCache.WorkbookConnection 

注意,如果數據透視表中不使用工作簿的連接,所以你應該檢查它會拋出一個錯誤第一個:

If pvt.PivotCache.SourceType = xlExternal Then 
    ActiveCell.Offset(i, 2) = pvt.PivotCache.WorkbookConnection 
End If 
+0

如果這樣做,請選擇左側的箭頭接受答案(注意你是新的,以防萬一你不知道)。 :) – aevanko

+0

嗨Issun,非常感謝你的幫助。有用。 –