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: 68724 Skopiuj do schowka Interfejs wstążki - zachowanie ToggleButton1
Autor Wiadomość
Tassan
Starszy Forumowicz


Wersja: Win Office 2019
Posty: 32
Wysłany: 20-08-2020, 01:07   Interfejs wstążki - zachowanie ToggleButton1

W nawiązaniu do tematu Ribbon .
Mając więcej wolnego czasu zabrałem się za rzeźbienie wstążki , coś mi się udaje, coś tam pada. Bywało, że ot tak znikał sobie tworzony mozolnie w pliku excela customUI14 i tylko dzięki tworzonym ciągle kopiom udawało się odzyskać dane.
W każdym bądź razie wstążka nabiera kształtu i jak to bywa zaczyna robić się pod górkę.
Nie wspominając o ciągłych błędach i odwołaniach czy to do g_RbnX.Invalidate, czy
returnedVal = ThisWorkbook.Sheets(m_Counter).Name - to drugie w przypadku otwarcia dwóch plików excela.


Cytat:
A to może powodować zniszczenie odwołania do zmiennej g_RbnX


dokładnie tak się dzieje :-(

Ale do rzeczy, wstawiłem 3xToggleButton
Każdy z osobna działa poprawnie, filtrując według zadanych kryteriów, jednak jak chciałbym mieć wciśnięte 2 takie przyciski czy 3 naraz to filtrowanie pokazuje rezultat tylko według ostatniego kryterium. Nie potrafię tak tego spiąć kodem aby to dobrze działało.
Czyli mając zadane już kryteria z ToggleButton1 (wciśnięty), wciskam ToggleButton2 i teraz tabela filtruje się według kryteriów 1 i 2 a nie, że 2 zastępuje wynik 1, no i tak we wszystkich kombinacjach ToggleButton'ów.

Druga sprawa, coś brak w moim kodzie bo przykładowo jak zadziałam ToggleButton1 (wciśnięty) to filtruje listę zgodnie z podpiętym kryterium ale jak w takim stanie (ToggleButton1 wciśnięty i lista przefiltrowana) zapiszę plik to po ponownym otwarciu ToggleButton1 jest ustawiony tak jak mu zadałem w kodzie (czyli returnedVal = IsPressed gdzie IsPressed ma stan False) a lista pozostaje przefiltrowana. Teraz czy to da się zrobić z "poziomu wstążki" czy zdjęcie filtrów powinno być przy jakimś zdarzeniu. Pewnie motam ale za pierwszy razem bez pomocy ciężko to ogarnąć.

W załączniku spreparowany arkusz na potrzeby tego problemu.

Kolejne problemy w drodze bo jak widać w załączonym pliku przykładowym dalej czeka mnie ładowanie listy zależnej i zbudowanie wyszukiwarki, oj nudno nie będzie.

Testwersja.xlsm
Pobierz Plik ściągnięto 10 raz(y) 86.01 KB

ID posta: 390967 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3092 razy
Posty: 10242
Wysłany: 20-08-2020, 02:20   

Tassan napisał/a:
wstawiłem 3xToggleButton
To i dla każdego przeznacz osobną zmienną IsPressed (IsPressed1, IsPressed2, IsPressed3).
Tassan napisał/a:
Każdy z osobna działa poprawnie, filtrując według zadanych kryteriów, jednak jak chciałbym mieć wciśnięte 2 takie przyciski czy 3 naraz to ...
... tego nie zrobisz. :-) Tu nie chodzi o przyciski, a o to, że autofiltr może filtrować tylko po jednym kolorze. Niejednokrotnie powtarzaliśmy, że kolor nie jest dobrym nośnikiem danych. To jeden z przykładów, którego nie przeskoczysz. Musiałbyś mieć dodatkową kolumnę (może być ukryta), w której każdemu kolorowi przypiszesz wartość liczbową (może być też tekstowa). I to po tej kolumnie będziesz filtrował.
Tassan napisał/a:
Druga sprawa
Ponowne otwarcie pliku zawsze ustawia kontrolki w wartości False (nawet jak nie masz kodu). Dlatego, chcąc zapamiętać stan kontrolek, w momencie zapisu pliku musisz sobie "na boku" zapisać ich stan. Możesz w tym celu wykorzystać Nazwy, ale równie dobrze w ukrytym arkuszu - komórki.

Dasz radę?
Jak Tak, to pokaż poprawiony plik, a potem pójdziemy dalej.

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 390970 Skopiuj do schowka
 
 
MaxIO_294 
Forumowicz


Wersja: Win Office 2013
Pomógł: 2 razy
Posty: 18
Wysłany: 20-08-2020, 06:11   

Cześć.
Możesz spróbować tak:
- kod po wciśnięciu 1, 2 lub 3 przycisków analizuje składnie warunku.
- tworzy warunek finalny na podstawie którego tworzysz filtr dla zakresu
Każda zmiana aktywnych filtrów(przyciski) generuje od nowa algorytm tworzenia filtra.

Marek
_________________
MaxIO_294
ID posta: 390972 Skopiuj do schowka
 
 
Tassan
Starszy Forumowicz


Wersja: Win Office 2019
Posty: 32
Wysłany: 21-08-2020, 22:14   

@Marek - jak dla mnie to wydaje się być zbyt skomplikowane

@Artik Ogólnie po długim wewnętrznym dialogu ;-) zmieniłem podejście do tego problemu.
Otóż zrezygnowałem ze wspólnych wyświetleń TB1 + TB2 itd. , ograniczyłem się tylko do wychwycenia i ustawienia zachowania TB na wstążce, czyli jak jeden ma stan True to reszta False i to chyba mi się udało. Pozostał problem z przyciskiem Zerowanie, owszem po kliknięciu czyści ale nie potrafię ustawić w tym momencie TB w pozycji False.

Zapamiętywanie stanu przy wychodzeniu/zapisie sobie darowałem, teraz po prostu wywołane jest zdarzenie Workbook_BeforeClose , wyczyszczenie filtrów z zapisem i tyle wystarczy.

Także prośba o pomoc z tym "Zerowaniem"

Testwersja.xlsm
Pobierz Plik ściągnięto 10 raz(y) 88.17 KB

ID posta: 391061 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3092 razy
Posty: 10242
Wysłany: 22-08-2020, 10:08   

By przytrzymać Cię na powierzchni :-) w załączniku masz poprawioną wersję pierwotną (TB1 + TB2 itd.). Pozostaniesz przy niej, czy jednak definitywnie zmieniasz zdanie co do działania (tylko jeden TB)?

Artik

Testwersja(Art).xlsm
Pobierz Plik ściągnięto 16 raz(y) 87.55 KB

_________________
Persistence is a virtue in the world of programming.
ID posta: 391071 Skopiuj do schowka
 
 
Tassan
Starszy Forumowicz


Wersja: Win Office 2019
Posty: 32
Wysłany: 23-08-2020, 03:01   

Mając taki wybór skwapliwie skorzystałem z poprawionej wersji i już ją zaimplementowałem do wersji ostatecznej. Nie doszedłbym do takiego rozwiązania, także dzięki za wprowadzone poprawki , sprawa TB rozwiązana :-) ciąg dalszy nastąpi, trzeba korzystać z Waszej ogromnej wiedzy bo z każdego takiego pomocnego rozwiązania coś się jednak wynosi.
Kolejna sprawa, będzie kolejny temat.
ID posta: 391091 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
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

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe