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: 27930 Skopiuj do schowka Niepoprawna identyfikacja xlDataField
Autor Wiadomość
z-kes 
Exceloholic


Pomógł: 12 razy
Posty: 170
Wysłany: 2012-02-09, 00:47   Niepoprawna identyfikacja xlDataField

Witam serdecznie
Zachciało mi się gmerać w makrach odpowiedzialnych za pivoty i poległem zaraz na początku :-/ .
Moje makro, powinno wyświetlać userforma z comboboxem, w którym pojawiają się wszystkie pivoty w skoroszycie (nawet człowiek nie przypuszczał ile ich się może zmieścić :shock: )
Po wskazaniu jakiegoś pivota na combo, w listboxie chciałem zobaczyć wszystkie pola dla wybranego pivota. Do tego miejsca ogarniam temat.
Dalej chciałem, aby klikając na jakieś pole w tym listboxie pojawił się msgbox z info, gdzie to pole jest umieszczone w pivocie (wiersze, kolumny, strony czy dane).
Kod:
 arkusz$ = comb_tabele.List(comb_tabele.ListIndex, 1)
 tabela$ = comb_tabele.List(comb_tabele.ListIndex, 0)
 pole = list_pola.Value
 
Select Case Sheets(arkusz).PivotTables(tabela).PivotFields(pole).Orientation
    Case xlHidden
        MsgBox "Hidden field"
    Case xlRowField
        MsgBox "Row field"
    Case xlColumnField
        MsgBox "Column field"
    Case xlPageField
        MsgBox "Page field"
    Case xlDataField
        MsgBox "Data field"
End Select


I w tym miejscu proszę o pomoc. Jeżeli kliknę na tym listboxie w pole, które jest wsadzone do pivota, do pola wartości, to moje makro pokazuje xlHidden a na zdrowy rozum powinno być xlDataField. Dla innych pól makro działa poprawnie :hamer .
Proszę napiszcie o co tu chodzi. Czy moje makro jest do bani, czy Excel tak już ma...

I jeszcze jedna drobna sprawa. Chciałem, aby po kliknięciu na listboxa pojawiała mi się informacja nt wybranego pola (czyli to co opisałem powyżej) a potem, aby makro zdejmowało zaznaczenie z tej wybranej wartości (chodzi o to, aby żadna wartość na listboxie nie była zaznaczona). Używałem do tego
Kod:
list_pola.Selected(list_pola.ListIndex) = False
ale coś nie za bardzo mi działa. Może to przez to zdarzenie list_pola_Click()

Jeżeli macie jakieś sugestie bardzo będę wdzięczny
Załącznik posiada jedną tabelę przestawną, userforma i kody.
Pozdrawiam
Dzidek

tabele VBA.zip
Pobierz Plik ściągnięto 8 raz(y) 25.15 KB

ID posta: 147965 Skopiuj do schowka
 
 

EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email

negatyv
Excel Expert



Zaproszone osoby: 4
Pomógł: 195 razy
Posty: 910
Wysłany: 2012-02-09, 21:36   

Co do pierwszego pytania, to rzeczywiście jest dziwne. w każdym razie specjalnie to nie utrudnia pracy :) Pamiętaj, że do pól możesz też odwoływać się przez inne kolekcje niż PivotFields:

http://msdn.microsoft.com...office.12).aspx

Co do drugiego,
Klikanie służy do zaznaczanie, więc jak w obsłudze klikania odznaczasz to najwyraźniej Excel głupieje. Możesz ewentualnie obsłużyć mouse_up

Kod:
Private Sub list_pola_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
list_pola.Selected(list_pola.ListIndex) = False
End Sub


ale wtedy nie możesz wyrzucać cech pola w msgbox, bo zwolnisz przycisk, żeby kliknąć ok na msgbox i się ten event nie odpali. Możesz zamiast tego wyrzucać ten tekst do jakiegoś pola tekstowego.
_________________
http://www.123office.pl - blog poświęcony programom pakietu MS Office.
ID posta: 148093 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