ID tematu: 27930
 |
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ć )
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 .
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
|
|
|
 |
|
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
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
|
|
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
|
| |
| |