Czy mogę zaktualizować wiele danych tabel przestawnych programu Excel 2007 jednorazowo?

0

Mam około 50 tabel przestawnych w programie Excel 2007, które wymagają kilkakrotnego aktualizowania codziennie aktualizowanego w celu odzwierciedlenia wielu fragmentów danych ze strony, którą mam. Aktualizowanie każdej tabeli w celu odzyskania tych wykresów jest bardzo czasochłonne. Czy istnieje sposób na ich aktualizację w jednym miejscu, może odwołać się do komórki zamiast aktualizować każdą listę rozwijaną?

Wuggles
źródło

Odpowiedzi:

0

Niestety nie sądzę, że excel ma wbudowany sposób aktualizowania wszystkich tabel przestawnych.

Osiągnęłbym to, rejestrując makro aktualizacji każdej tabeli przestawnej, a następnie łącząc to makro z przyciskiem. jeśli jest to dla ciebie nieznane terytorium, daj mi znać, a mogę rozwinąć sprawę dalej.

Pynner
źródło
Nie znam tego w tabelach przestawnych, ale rozumiem, do czego zmierzasz. Czy mogę zaktualizować listy rozwijane w makrze? Co jeśli chcę wielokrotnie aktualizować tę samą listę rozwijaną do różnych wartości? Mam na myśli, że mam około 50 tabel, które reprezentują dane na różne sposoby, chcę wybrać różne linie lotnicze i reprezentować wszystkie te dane dla każdej linii lotniczej. Czy to jest możliwe? Czy potrzebowałbym innego makra dla każdej linii lotniczej dla wszystkich 50 stolików? Dzięki za pomoc!
Wuggles
Ścieżka najmniejszego oporu tutaj naprawdę zależy od tego, ile linii lotniczych i ile danych. nagrywanie makra spowoduje zapisanie wybranych opcji, dlatego należy zapisać makro dla każdej linii lotniczej. Aby zaktualizować pojedyncze makro, wszystkie tabele oparte na danych wejściowych będą wymagały ręcznie wykonanego kodu VBA. W zależności od charakteru danych, które gromadzisz, łatwiej jest trafić dane za tabelą przestawną bezpośrednio za pomocą formuł (takich jak vlookup, sumif i sumproduct)
Pynner
0

Potrzebowałem tego ostatnio i trochę zmodyfikowałem. Być może ktoś uzna to za przydatne.

Do tej pory mam kilka wykresów przestawnych podsumowujących dane według Tygodnia Kalendarza. Nagrałem makro [Office 2016: View-Macros-Record Macro] i sprawdziłem ostatnie CW, które ma być zawarte w etykietach wierszy dla wszystkich poszczególnych tabel przestawnych, a tym samym wykresów. Następnie zatrzymałem makro i przeszedłem do trybu edycji ( Alt+ F11) i znalazłem kod w module 1.

Następnie ustawiam komórkę C2 w arkuszu, aby zawsze była numerem tygodnia w poprzednim tygodniu [ =WEEKNUM(Today())-1], ustawiałem zmienną równą tej wartości komórki i zastępowałem zaznaczenie w zarejestrowanym makrze nazwą zmiennej, używając następującego kodu:

Dim i As Integer

Sub CW_Update()

' Keyboard Shortcut: Ctrl+Shift+J

i = Cells(1, 3).Value

    With ActiveSheet.PivotTables("PivotTable1").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable3").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable5").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With
        With ActiveSheet.PivotTables("PivotTable7").PivotFields("CW")
        .PivotItems(i).Visible = True
    End With

End Sub

Teraz, w każdy poniedziałek, kiedy przeglądam statystyki, po prostu naciskam Ctrl+ Shift+ J i wszystko aktualizuje się automatycznie.

użytkownik1036677
źródło
Zobacz Jak dodać VBA w MS Office? w celach informacyjnych.
Scott