Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA - Excel - Wprowadzanie danych do UserForm-a

11 Paź 2014 20:48 2601 11
  • Poziom 6  
    Witam, może mi ktoś z tym pomóc a mianowicie mój problem polega na tym że nie wiem jak zdefiniować polecenie tak aby przy pomocy konkretnego UserForma wpisywać dane do drugiego aktywnego UserForma. Sprawa mi się komplikuje i nie wiem jak to ugryźć - chodzi o userform "POLIKOL_Pozycja_1"
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Specjalista - VBA, Excel
    POLIKOL_Pozycja_1.ComboBox3.Value = analiza.Value
  • Poziom 6  
    Chodzi mi o to aby POLIKOL_Pozycja_1.ComboBox3 był zdefiniowany jako wartość uniwersalna do wprowadzania w innych formularzach np. POLIKOL_Pozycja_2.ComboBox3 itd. :-/ czyli przeszkadza mi POLIKOL_Pozycja_1

    Dodano po 21 [minuty]:

    Sam już nie wiem, to co mi podałeś JRV nie pomaga

    Na każej kategorii jak POLIKOL, ROKAFENOL itd (jest ich w sumie 9) jest pozycji od 1 do 10 a w nich po 22 comboboxy wiec musiał bym utworzyć ok. 1000 szt. UserForm wiec niewiem już jak to zrobić aby było to uniwersalne.
  • Moderator Programowanie
    Trochę zagmatwany opis.
    Co to jest "analiza" i skąd się bierze? Domyślam się, że jakaś wartość liczbowa. Wynika to z
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    z drugiej strony
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    i tu przestaję rozumieć. Z trzeciej strony, po co tyle tych if'ów i Exit sub'ów? Wystarczy instrukcja z gałęziami:
    If warunek1 then akcja1
    Elseif warunek2 then akcja2
    Elseif warunek3 then akcja3
    Else
        gdy żaden z powyższych - akcja4
    End if

    Napisz jaśniej: jaką wartość chcesz przekazać, w jakim celu i dokąd (dlaczego 1000 formularzy?).
  • Poziom 6  
    Sprawa wyglada tak:

    Uruchomiam formularz POLIKOL_Pozycja_1 lub POLIKOL_Pozycja_2 itd, w którym wypełniam dane w combobox przy pomocy innego formularza (formularz zaciąga dane a raczej text "[A] np. z POLIKOL_Pozycja_1.Combobox3 - wprowadzam te dane za pomocą(też przy użyciu) comboboxa "analiza" używając powyższego kodu ale nie pozwalam wprowadzać innych wartości niż liczba lub tekst "zgodny'.

    Czyli chcę przerzucić dane z jednego formularza do drugiego ale zrobic to w taki sposób aby formularz do wprowadzania danych był elastyczny oraz kontrolował wprowadzaną wartość i nadawał się do przerzucania danych np. w POLIKOL_Pozycja_2, ROKAFENOL_Pozycja_1, itd wszędzie tam gdzie jest aktualnie uruchomiony i wypełniany formularz w polu np. ComboBox3. :-/ (po 22 comboboxy na 80 pozycji)
  • Moderator Programowanie
    Jakiś diabełek szepce mi do ucha, że można osiągnąć oczekiwany cel znacznie prościej niż to opisujesz ;)

    Wrzuć plik z przykładem (co najmniej trzy takie formularze, włączając główny). "xlsm" spakuj (zip, rar) przed załączeniem.

    Przecież sprawdzić, które są otwarte możesz przez: 'For each ufrm in UserForms'
    Przekazać indeks/wartość combobox'a w takiej pętli, też żaden problem.
    Pytanie: dlaczego używasz aż tylu formularzy? Ile maksymalnie może być (w założeniu) otwartych w jednym momencie?
  • Poziom 6  
    Ok, później ogarnę i wrzucę. A tak na szybko to może być otwarty tylko jeden formularz do którego wprowadzam dane.
  • Poziom 6  
    Witam, chodzi o formant "analiza1_polikol" aby funkcjonował na formantach "POLIKOL_pozycja_1" ,"POLIKOL_pozycja_2", itd. Czyli aby formularz "analiza1_polikol" wklejał w każdym aktualnie aktywnym formularzu w pozycję np. ComboBox3

    adamas_nt napisał:
    Jakiś diabełek szepce mi do ucha, że można osiągnąć oczekiwany cel znacznie prościej niż to opisujesz ;)

    Wrzuć plik z przykładem (co najmniej trzy takie formularze, włączając główny). "xlsm" spakuj (zip, rar) przed załączeniem.

    Przecież sprawdzić, które są otwarte możesz przez: 'For each ufrm in UserForms'
    Przekazać indeks/wartość combobox'a w takiej pętli, też żaden problem.
    Pytanie: dlaczego używasz aż tylu formularzy? Ile maksymalnie może być (w założeniu) otwartych w jednym momencie?
  • Pomocny post
    Specjalista - VBA, Excel
    Na Twoim przykładzie dla przycisków '< ' a '> ' na arkuszach nie powinna oddzielne makra. Wystarczy dla dwóch.
    Dla '<'
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Dla '>'
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 6  
    Witam, dzięki wszystkie uwagi są pomocne :-) ale nadal nie umiem tego rozgryźć zagadnienia które poruszyłem wyżej... i coś czuje że polegne niestety ;-/
  • Poziom 6  
    Znajdzie się jakaś pomocna dusza i pomoże przy formancie "analiza1_polikol" tak aby funkcjonował na formantach "POLIKOL_pozycja_1" ,"POLIKOL_pozycja_2", itd. Czyli aby formularz "analiza1_polikol" wklejał w każdym aktualnie aktywnym formularzu w pozycję np. ComboBox3
  • Poziom 6  
    Problem rozwiązany :-) do zamknięcia temat