Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

VB w Excelu i zmienne globalne

Idź do strony 1, 2  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Smalski
Gość





PostWysłany: Pon Lis 07, 2005 10:39 am      Temat postu: VB w Excelu i zmienne globalne Odpowiedz z cytatem Pisownia

Witam!!
Potrzebuje stworzyc zmienna globalna i przypisac jej wartosc tak,zeby byla dostepna we wszystkich modulach i skoroszytach(np. w obsludze przyciskow na formie), i zebym mogl w jakiejkolwiek procedurze zmieniac jej wartosc.
Zadeklarowalem zmienna w ten sposob i wpisalem przed procedura otwarcia arkusza:

Kod:
Public zmienna as integer

Public Sub Worksheet_Activate()
zmienna=10
End Sub



Jednak jak korzystam z tej zmiennej w obsludze przycisku na formie to jej wartosc jest 0.
Jak to rozwiazac??
Pozdrawiam/smalski
Powrót do góry
losmac



Dołączył: 25 Maj 2005
Posty: 1551
Skąd: Białystok

PostWysłany: Pon Lis 07, 2005 5:59 pm      Temat postu: Odpowiedz z cytatem Pisownia

Przenieś tę zmienną do nowego modułu - niezwiązanego z arkuszem.

Ustawiaj wartość początkową zmiennej przy otwarciu skoroszytu.

_________________
książka o VBA dla Office'a
źródło wiedzy o programowaniu w VBA
UWAGA! Nie odpowiadam na PW, jeżeli wcześniej nie zostało to ze mną ustalone w ramach konkretnego wątku!
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
jop



Dołączył: 29 Sie 2006
Posty: 24

PostWysłany: Pon Wrz 18, 2006 7:38 pm      Temat postu: Odpowiedz z cytatem Pisownia

Mam podobny problem. Zastosowałem powyższe uwagi (tak mi się wydaje), a mimo to wywoływana zmienna ma wartość 0.
Zrobiłem tak:
Utworzyłem nowy moduł w którym wpisałem jedynie:

Public zmienna as Integer

W obiekcie This workbook wpisałem:
sub workbook_open()
zmienna=10
end sub

Wywołując tą zmienną (tę) np. w kodzie dla userforma dostaję wartość 0. Dlaczego?

Akurat w tym przypadku mogę sobie poradzić deklarując stałą publiczną:

public const stala=10 as integer

To działa bez problemu, ale ze zmienną globalną sobie nie radzę...

Kamil
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Gość






PostWysłany: Pon Wrz 18, 2006 7:58 pm      Temat postu: Odpowiedz z cytatem Pisownia

Zmienne publiczne sa czyszczone np. w przypadku awaryjnego zatrzymania makr w przypadku błędu w programie, czy przedwczesnego zakończenia makra przyciskiem Reset, przy debugowaniu kodu.

Pozdrawiam
Powrót do góry
karolinavb
Site Admin


Dołączył: 25 Maj 2005
Posty: 7288

PostWysłany: Pon Wrz 18, 2006 9:23 pm      Temat postu: Odpowiedz z cytatem Pisownia

Spróbuj wykorzytać CustomDocumentProperties może, jeśli nie masz dużo tych zmiennych ?
Możesz też wykorzystać komórkę w ukrytym arkuszu.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Artik
Moderator


Dołączył: 10 Maj 2006
Posty: 1363
Skąd: Szczecin

PostWysłany: Pon Wrz 18, 2006 10:08 pm      Temat postu: Odpowiedz z cytatem Pisownia

Anonymous napisał:
Zmienne publiczne sa czyszczone np. w przypadku awaryjnego zatrzymania makr w przypadku błędu w programie, czy przedwczesnego zakończenia makra przyciskiem Reset, przy debugowaniu kodu...
...oraz użycia w jednej z procedur wyrażenia End (zamiast np. Exit Sub)

Artik
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
karolinavb
Site Admin


Dołączył: 25 Maj 2005
Posty: 7288

PostWysłany: Pon Wrz 18, 2006 10:16 pm      Temat postu: Odpowiedz z cytatem Pisownia

Użycie
End
powino się karać chłostą.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Artik
Moderator


Dołączył: 10 Maj 2006
Posty: 1363
Skąd: Szczecin

PostWysłany: Pon Wrz 18, 2006 10:27 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dodałbym (a może Dodał bym - nigdy nie wiem) jeszcze łamanie kołem :-)

Artik
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
tooz
Gość





PostWysłany: Wto Wrz 11, 2007 3:32 pm      Temat postu: exit zamiast end sub Odpowiedz z cytatem Pisownia

Moglby mi ktos zademonstrowac przyklad powyzszego w temacie? Nie moge napisac exit sub zamiast end sub
Powrót do góry
marcin_an
Site Admin


Dołączył: 26 Maj 2005
Posty: 18176

PostWysłany: Wto Wrz 11, 2007 3:40 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nie "zamiast". Jedno z drugim niewiele ma wspólnego. End Sub jest znacznikiem końca kodu procedury, natomiast Exit Sub jest poleceniem zakończenia procedury.
Kod:
Sub blablabla()
    '' ...
    Exit Sub
    '' ...
End Sub
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Możesz pisać nowe tematy
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
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.02731 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie | MS Office Blog |