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
Przesunięty przez: Kaper
06-11-2023, 10:58
Zmienne z UserForm
Autor Wiadomość
darek_op
Starszy Forumowicz


Posty: 40
Wysłany: 05-11-2023, 10:10   Zmienne z UserForm

Nie mam już pomysłu co robię źle.
Mam zadeklarowana zmienną Public.
Nadaję jej wartośc w UserForm po czym zamykam UF i otwieram inną UserForm i nie mam już wartości zmiennej.

Walczę z tym od wczoraj i .....
ID posta: 431077 Skopiuj do schowka
 
 
Tajan


Pomógł: 5512 razy
Posty: 11984
Wysłany: 05-11-2023, 11:46   

A gdzie jest zadeklarowana ta zmienna? Powinna być w module zwykłym a nie w module formularza.
ID posta: 431079 Skopiuj do schowka
 
 
darek_op
Starszy Forumowicz


Posty: 40
Wysłany: 05-11-2023, 13:25   

Tak jak na PRTSCR

Zrzut ekranu 2023-11-05 132458.jpg
Plik ściągnięto 30 raz(y) 30.44 KB

ID posta: 431082 Skopiuj do schowka
 
 
Tajan


Pomógł: 5512 razy
Posty: 11984
Wysłany: 05-11-2023, 14:55   

Definicję zmiennej należy umieścić w module nie zawierającym innego kodu. Z obrazka wynika, że tak jest u ciebie. Trudno zatem powiedzieć w czym jest problem... Może coś w kodzie szwankuje?
Sprawdź załączony plik. U mnie działa. A u ciebie?

Zmienna.xlsm
Pobierz Plik ściągnięto 62 raz(y) 25.38 KB

ID posta: 431087 Skopiuj do schowka
 
 
master_mix 
Excel Expert



Wersja: Win Office 365
Pomógł: 1293 razy
Posty: 2637
Wysłany: 06-11-2023, 17:58   

prawdopodobnie w drugiej formie w zdarzeniu initialize lub activate, masz kod który czyści/zmienia wartość zmiennej
_________________

Podejmę współpracę (pracę)
Programowanie C#, Android, iOS, VB.NET, VBA, ASP.NET Core, WPF, Xamarin, Power Platforms, XAML, MVC, LINQ, Entity Framework. Bazy danych SQL Server, Oracle, MySQL, Firebird
Wrocław i okolice …lub zdalnie.
ID posta: 431141 Skopiuj do schowka
 
 
Tajan


Pomógł: 5512 razy
Posty: 11984
Wysłany: 06-11-2023, 18:29   

Raczej nie. To jest ciekawa sprawa. Jeżeli definicja zmiennej jest w module z którego są uruchamiane formularze to po zamknięciu formularza jej wartość jest czyszczona. Jeżeli jest w innym module - zachowuje wartość. Jakiś bug? Nie wiem...
ID posta: 431143 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 365
Pomógł: 3503 razy
Posty: 10361
Wysłany: 06-11-2023, 21:26   

Wygląda na to, że "winne" jest użycie metody Unload. Z Hide zachowuje się lepiej.
Tu można coś poczytać o tym.
'https://www.makroaplikacje.pl/formularz-jako-klasa/#:~:text=Formularz%20u%C5%BCytkownika%20jest%20przyk%C5%82adem%20klasy%2C%20dlatego%20w%20kodzie,jak%20si%C4%99%20do%20nich%20odwo%C5%82ywa%C4%87%20w%20zewn%C4%99trznych%20procedurach.
z odnośnikiem do 'Unload'.

ZmiennaTajan.xlsm
Pobierz Plik ściągnięto 40 raz(y) 29 KB

ID posta: 431155 Skopiuj do schowka
 
 
master_mix 
Excel Expert



Wersja: Win Office 365
Pomógł: 1293 razy
Posty: 2637
Wysłany: 06-11-2023, 23:33   

Tajan napisał/a:
To jest ciekawa sprawa. Jeżeli definicja zmiennej jest w module z którego są uruchamiane formularze to po zamknięciu formularza jej wartość jest czyszczona. Jeżeli jest w innym module - zachowuje wartość


A nawet więcej... czasami jest zachowana a czasami nie :roll:
Ewidentny bug.

Maciej Gonet napisał/a:
Wygląda na to, że "winne" jest użycie metody Unload. Z Hide zachowuje się lepiej.

No tak, bo niszczona jest wraz z instancją, ale to nie tłumaczy anomali o którym pisał Tajan
_________________

Podejmę współpracę (pracę)
Programowanie C#, Android, iOS, VB.NET, VBA, ASP.NET Core, WPF, Xamarin, Power Platforms, XAML, MVC, LINQ, Entity Framework. Bazy danych SQL Server, Oracle, MySQL, Firebird
Wrocław i okolice …lub zdalnie.
ID posta: 431163 Skopiuj do schowka
 
 
master_mix 
Excel Expert



Wersja: Win Office 365
Pomógł: 1293 razy
Posty: 2637
Wysłany: 07-11-2023, 20:21   

aha,
i ta "dysfunkcja" ma miejsce tylko podczas otwartego edytora VBE
Przynajmniej u mnie
_________________

Podejmę współpracę (pracę)
Programowanie C#, Android, iOS, VB.NET, VBA, ASP.NET Core, WPF, Xamarin, Power Platforms, XAML, MVC, LINQ, Entity Framework. Bazy danych SQL Server, Oracle, MySQL, Firebird
Wrocław i okolice …lub zdalnie.
ID posta: 431181 Skopiuj do schowka
 
 
Tajan


Pomógł: 5512 razy
Posty: 11984
Wysłany: 07-11-2023, 20:47   

Pewnie masz rację :-) U mnie edytor rzadko kiedy jest zamknięty więc nie miałem okazji sprawdzić.
ID posta: 431183 Skopiuj do schowka
 
 
darek_op
Starszy Forumowicz


Posty: 40
Wysłany: 26-11-2023, 11:34   

Tak to jest ciekawy temat, ponieważ czasami zmienna się zachowuje, a czasami nie :-(
Trudno poradziłem sobie bez tej zmiennej i jest ok.
ID posta: 431594 Skopiuj do schowka
 
 
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.wip.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