Excel VBA数据透视表显示写入数组的详细信息

Excel VBA数据透视表显示写入数组的详细信息,excel,vba,pivot-table,Excel,Vba,Pivot Table,我有一个5000行的数据透视表。对于每一行,我需要知道它们的详细位置。我可以使用ShowDetail方法,但这并不是我想要的。它为每一行创建了一个新的工作表 有没有一种方法可以在不创建新工作表的情况下将行的详细信息提取到变量中?似乎在不创建新工作表的情况下没有解决方法,但您可以使用以下方法: Sub Macro1() Dim r As Range, rng As Range Dim i As Long Dim pivotSheet As Worksheet ' define some shee

我有一个5000行的数据透视表。对于每一行,我需要知道它们的详细位置。我可以使用ShowDetail方法,但这并不是我想要的。它为每一行创建了一个新的工作表


有没有一种方法可以在不创建新工作表的情况下将行的详细信息提取到变量中?

似乎在不创建新工作表的情况下没有解决方法,但您可以使用以下方法:

Sub Macro1()
Dim r As Range, rng As Range
Dim i As Long
Dim pivotSheet As Worksheet

' define some sheet to work on
Set pivotSheet = ActiveSheet

' disable screen blinking and notifications
Application.ScreenUpdating = False
Application.DisplayAlerts = False

' show details of some range
Range("your range").ShowDetail = True

' assign details to variable
' details were alwawys shown to me
' as a selected range
Set rng = Selection
i = 1

' do stuff with details
For Each r In rng
    pivotSheet.Cells(i, 5) = r.Value
    i = i + 1
Next

' delete details sheet so none can see it
rng.Parent.Delete

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

如果不创建新图纸,似乎没有解决方法,但您可以使用以下方法:

Sub Macro1()
Dim r As Range, rng As Range
Dim i As Long
Dim pivotSheet As Worksheet

' define some sheet to work on
Set pivotSheet = ActiveSheet

' disable screen blinking and notifications
Application.ScreenUpdating = False
Application.DisplayAlerts = False

' show details of some range
Range("your range").ShowDetail = True

' assign details to variable
' details were alwawys shown to me
' as a selected range
Set rng = Selection
i = 1

' do stuff with details
For Each r In rng
    pivotSheet.Cells(i, 5) = r.Value
    i = i + 1
Next

' delete details sheet so none can see it
rng.Parent.Delete

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub