Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 27792 Skopiuj do schowka Tabela przestawna-filtr.
Autor Wiadomość
canto 
EXCELent Man



Posty: 113
Wysłany: 2012-02-03, 16:10   Tabela przestawna-filtr.

Witam wszystkich,
mam problem z filtrem w tabeli przestawnej, chcę aby za każdym razem tabela była odświeżana dla zmiennej rok

Póki co napisałem coś takiego:
Kod:
    Range("AV2").Select
    ActiveSheet.PivotTables("Tabela przestawna2").PivotCache.Refresh
   
    ActiveSheet.PivotTables("Tabela przestawna2").PivotFields ("Rok")
        For i = 1 To .PivotItems.Count
            If .PivotItems(i).Name = rok Then
                .PivotItems(i).Visible = True
                Else
                .PivotItems(i).Visible = False
            End If
        Next i


Jednak makro mi się wysypuje.
Proszę o uwagi.

Pozdrawiam,
_________________
canto
ID posta: 147326 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

Kaper 
Excel Expert



Pomógł: 1152 razy
Posty: 1626
Wysłany: 2012-02-03, 16:20   

"się wysypuje" jest super-ogólnym określeniem błędu :-/ (znaczy ze wskazaniem miejsca i pokazaniem danych dla których pojawia się bład). pewnie, że lepiej niż "wyświetla błąd" bo wysypuje jednoznacznie pokazuje, że jest to bład czasu wykonania. no ale to dalej dość nieprecyzyjnie

ale sięgam po niezawodne narzędzie

i ... pierwsze podejrzenie - może masz w którymś momencie działania pętli sytuację, kiedy wszystkie .PivotItems(i).Visible = False i wtedy dostajesz bład 1004. jeśli tak, to np. najpierw ustaw wszystkie na widoczne a potem schowaj wszystkie poza wybranym.

Pozdrawiam,
_________________
Kaper

Każda trójwymiarowa zwarta i jednospójna rozmaitość topologiczna bez brzegu jest homeomorficzna ze sferą trójwymiarową. Czasem trzeba poczekać sto lat żeby się upewnić.
ID posta: 147330 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

canto 
EXCELent Man



Posty: 113
Wysłany: 2012-02-06, 15:49   

Już sią poprawiam a obrazek mnie po prostu rozbił :mrgreen:

Błąd się pojawia na samym etapie wykonywania makra:
Kod:
    Range("AV2").Select
    ActiveSheet.PivotTables("Tabela przestawna2").PivotCache.Refresh
   
    ActiveSheet.PivotTables("Tabela przestawna2").PivotFields ("Rok")
        For i = 1 To
.PivotItems.
Kod:
Count
            If .PivotItems(i).Name = rok Then
                .PivotItems(i).Visible = True
                Else
                .PivotItems(i).Visible = False
            End If
        Next i

Zmienna rok może przyjmować różne wartości, obecnie w filtrze wykorzystuję rok=2012, pozostałe są od puste (tzn, 2007, 2008, 2009, 2010 i 2011 nie są zaznaczone a tylko 2012).

Oczywiście za rok moją zmienną rok będzie 2013, wtedy chciałbym aby z automatu w filtrze 2012 było również puste.

Z góry dziękuję za uwagi, może coś się z kuli wyczaruje ;-)

Pozdrawiam,

1.JPG
Plik ściągnięto 184 raz(y) 9.19 KB

_________________
canto
ID posta: 147638 Skopiuj do schowka
 
 
Kaper 
Excel Expert



Pomógł: 1152 razy
Posty: 1626
Wysłany: 2012-02-06, 16:01   

Fajnie, że obrazek się spodobał. Chyba jednak za słabo przybliżała kula.
Nie zauważyłem kropki.
Poprzednia uwaga dalej obowiązuje (pewnie w którymś momencie z tym problemem się zetkniesz) ale na razie ... może bardziej brakuje with? A może jest poza widocznym dla nas obszarem? Jeśli jednak go nie ma - dopisz.

Kod:
With ActiveSheet.PivotTables("Tabela przestawna2").PivotFields ("Rok")
        For i = 1 To .PivotItems.Count
                .PivotItems(i).Visible = True
        Next i
        For i = 1 To .PivotItems.Count
            If .PivotItems(i).Name <> rok Then _
                   .PivotItems(i).Visible = False
        Next i
End With


Pozdrawiam,
_________________
Kaper

Każda trójwymiarowa zwarta i jednospójna rozmaitość topologiczna bez brzegu jest homeomorficzna ze sferą trójwymiarową. Czasem trzeba poczekać sto lat żeby się upewnić.
ID posta: 147639 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

canto 
EXCELent Man



Posty: 113
Wysłany: 2012-02-08, 08:45   

Śmiga jak należy, kula niezawodna:D

Pozdrawiam,

[ Dodano: 2012-02-07, 09:53 ]
A jednak błąd 1004 pojawił się dzisiaj, trochę przekombinowałem (załącznik).

To znaczy dodałem jeszcze jeden filtr w postaci numeru tygodnia w roku.
tydzien oczywiście może przyjmować wartości od 01 do 53 plus jakieś śmieci wynikające z formuł w pliku, u mnie np. #LICZBA!.
Chciałbym oczywiście, żeby wyświetlały się w tabeli wszystkie dostepne tygodnie dla roku (obecnie 2012).

Próbuję zrobić coś takiego:
Kod:
    With ActiveSheet.PivotTables("Tabela przestawna2").PivotFields("Rok")
        For r = 1 To .PivotItems.Count
                .PivotItems(r).Visible = True
        Next r
        For r = 1 To .PivotItems.Count
            If .PivotItems(r).Name <> tydzien Then .PivotItems(r).Visible = False
        Next r
        For r = 1 To .PivotItems.Count
            If .PivotItems(r).Name <> rok Then .PivotItems(r).Visible = False
        Next r
    End With 

Ale czegoś mi tu jeszcze brakuje...

Pozdrawiam,

[ Dodano: 2012-02-08, 13:28 ]
Zrobiłem póki co coś takiego:
Kod:
   On Error Resume Next
    With ActiveSheet.PivotTables("Tabela przestawna2").PivotFields("Rok")
        For r = 1 To .PivotItems.Count
                .PivotItems(r).Visible = True
        Next r
        For r = 1 To .PivotItems.Count
            If .PivotItems(r).Name <> rok Then .PivotItems(r).Visible = False
        Next r
    End With


Czy słusznie?
_________________
canto
ID posta: 147843 Skopiuj do schowka
 
 
Wormsek 
Excel Expert



Zaproszone osoby: 1
Pomógł: 586 razy
Posty: 2657
Wysłany: 2012-02-09, 08:02   

Wrzuć wreszcie ten załącznik :-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji
ID posta: 147968 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum