Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partner闚

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / ζdowarki

VBA Excel - prawid這wa struktura programu

Andie 05 Sty 2017 12:34
  • #1 05 Sty 2017 12:34
    Andie
    Poziom 20  

    Witam,

    napisa貫m sobie program, w kt鏎ym jest kilka UserForm’闚. Kilka procedur jest wywo造wanych przez r騜ne kontrolki form. Wszystko dzia豉 bez zarzutu, tylko chcia豚ym si dowiedzie, jak powinna wygl康a poprawna struktura takiego programu. U mnie to wygl康a tak, 瞠 procedury znajduj si w modu豉ch odpowiednich form (przez kontrolki kt鏎ych s wywo造wane), a wi瘯szo嗆 zmiennych, poniewa jest wykorzystywana w r騜nych miejscach, zadeklarowa貫m jako zmienne globalne (w module procedury standardowej). Czyta貫m, 瞠 nie jest dobrze, je郵i u篡wa si zmiennych globalnych, ale nie bardzo wiem, jak to inaczej skonstruowa. Co innego, je郵i procedury s wywo造wane kolejno w module standardowym – wtedy argumenty (zmienne) przekazywane s pomi璠zy procedurami. A czy mo積a to w jaki spos鏏 zrobi z procedurami w modu豉ch UserForm?
    B璠 wdzi璚zny za wszelkie wskaz闚ki oraz namiary na ewentualn lektur, kt鏎a pomog豉by mi zg喚bi wiedz w tym temacie.

    Pozdrawiam,
    Andie

  • #2 05 Sty 2017 13:35
    JRV
    Specjalista - VBA, Excel

    Mo積a u篡 niekt鏎ych w豉軼iwo軼i formant闚(kontrolek), np. Tag

  • #3 06 Sty 2017 12:17
    Andie
    Poziom 20  

    JRV napisa:
    Mo積a u篡 niekt鏎ych w豉軼iwo軼i formant闚(kontrolek), np. Tag


    JRV, a m鏬豚y napisa co wi璚ej na ten temat, ew. podes豉 jaki przyk豉d?

  • #4 06 Sty 2017 12:56
    JRV
    Specjalista - VBA, Excel

    ζtwiej b璠zie Umie嗆 sw鎩 przyk豉d Userform z kontrolami, komentarz gdzie i jak nale篡 przekaza dane. Zale篡, Unload lub Hide formy. I Tw鎩a drog rozwi您ywania.

  • #5 06 Sty 2017 18:37
    Andie
    Poziom 20  

    Taki przyk豉d. Na jednej formie mam ListBoxa, kt鏎y w zdarzeniu initialize pobiera dane z tablicy1 (wcze郾iej za豉dowane od tablicy z arkusza) . Procedura w zdarzeniu Change (TextBox) filtruje dane w arkuszu (poprzez por闚nywanie ci庵闚 w TextBox i arkuszu) i tworzy now tablic2 z pasuj帷ymi rekordami, kt鏎a trafia do tego listBoxa (w miejsce tablicy1). Po wyczyszczeniu zawarto軼i TexTboxa, ponownie do listBoxa trafia tablica1. W takim przypadku nie wiem jak zrobi, by si璕n望 w zdarzeniu Change do tablicy1 (bez zadeklarowania jej jako zmiennej globalnej).

    Inny przyk豉d. Na UserForm1 jest umieszczony CheckBox, kt鏎ego w陰czenie zmienia status, kt鏎y z kolei jest wykorzystywany w instrukcjach warunkowych w procedurze wywo造wanej w UserForm2 (uruchamiany z poziomu UserForm1). W tym przypadku status r闚nie zadeklarowa貫m jako zmienn globaln. Teraz jednak tkn窸o mnie, 瞠 je瞠li nie zamkn UserForm1 tylko go ukryj, mog po prostu bezpo鈔ednio z procedury (UF2) sprawdzi, jaki jest stan CheckBoxa. Czy to b璠zie poprawne rozwi您anie?

  • #6 06 Sty 2017 18:58
    JRV
    Specjalista - VBA, Excel

    Opis jest dobry, ale lepiej plik za陰cznika.
    Je郵i Ukryj, nie zamkn望 UserForm, jest tylko nieco wi璚ej pami璚i. Nadziej, 瞠 Tw鎩 komputer nie jest najstarszym, jak m鎩 pierwszy komputer mia 32 kilobajt闚 pami璚i RAM.

    Andie napisa:
    Czy to b璠zie poprawne rozwi您anie?

    Kontrowersyjne kwestie. W ka盥ego swoj styl programowania. W pocz徠kowej fazie mog by nie optymalny, do鈍iadczenie przychodzi z czasem.

  • #7 06 Sty 2017 20:06
    Andie
    Poziom 20  

    Jest problem z zamieszczeniem pliku, poniewa zawiera dane osobowe.

  • #8 06 Sty 2017 20:29
    JRV
    Specjalista - VBA, Excel

    Nie powinno by prawdziwy plik, tylko przyk豉d, ma這 kto chce utworzy plik na Tw鎩 opis.

  Szukaj w 4mln produkt闚
Przegl康aj produkty