napisał: jarjar postów: 40
umieszczony: 12 maja 2007 21:50
|
|
Do automatycznego odświeżania tabeli przestawnej stosowałem KOD:
Private Sub Worksheet_Activate()
Dim mysheet As Worksheet
Dim myRangeAddress As String
Dim myPivotTable As PivotTable
Application.ScreenUpdating = False
'definiujemy w którym arkuszu sa dane źródłowe
Set mysheet = Sheets("Arkusz1")
'przypisujemy adres zakresu w jakim są dane źródłowe
'(przy założeniu, że komórka A1 znajduje się w zakresie danych źródłowych)
myRangeAddress = mysheet.Name & "!" & _
mysheet.Range("A2:B9").CurrentRegion.Address(ReferenceStyle:=xlR1C1)
Set myPivotTable = ActiveSheet.PivotTables(1)
With myPivotTable.PivotCache
'przypisujemy zakres danych źródłowych tabeli przestawnej
SourceData = myRangeAddress
'odświeżamy bufor tabeli przestawnej
.Refresh
End With
'ukrywamy paski narzędzi związanych z tabelą przestawną
Application.CommandBars("PivotTable").Visible = False
Application.ScreenUpdating = True
End Sub
Jest jeden problem.Odświeża się automatycznie ale po kliknięciu na arkusz 2.Jeśli tego nie zrobię to w arkuszu 3 gdzie pobieram dane z tej tabeli przestawnej nic mi się nie odświeża. Może ma ktoś sposób aby była pełna automatyka??
Zależy mi na tej automatyzacji bo z arkusza 3 dane idą dalej automatycznie do dalszej obróbki.
Albo zna może ktoś inny sposób zapisania tab przestawnej , formułą albo VBA??
Thx za uwagę. |
|
wstecz 1 dalej wszystkich stron: 1
|