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.

[Rozwiązano] Vba excel - Komunikacja miedzy userform a arkuszem

15 Lip 2015 20:16 1053 10
  • Poziom 8  
    Witam
    Dziś mam takie zadanie. Mam userform którego zadaniem jest ocena dostawcy. Jest w nim 8 comboboxow ( kryteriów) oceny a w każdym combo są po trzy parametry słowne oceniające dostawce w danym kryterium, np.: dla kryterium jakość Obslugi w combobox jest: odpowiednia, zadowalająca i niezadowalajaca. I te maja swoje odpowiedniki 2, 1 i 0. - do średniej ważonej całej oceny.

    Chciałbym aby po wprowadzeniu wartości dla każdego z kryterium i kliknięciu przycisku:
    1. vba zapisał te dane w arkuszu
    2. Przydzielił dla każdej oceny słownej odpowiednia wartość liczbowa.
    3. Zapytał czy ocenić kolejnego dostawce i jeśli tak to załadować od nowa ten userform
    4. ale żeby zapisał następne dane dla drugiego dostawcy w innym miejscu obok 1 dostawcy.

    W założeniu chciałbym żeby sie tworzyła tabelka z lista dostawców ocenianych i ocenami dla każdego z nich i działaniami które podjęte zostaną w zależności od oceny jaka dostana
  • Specjalista - VBA, Excel
    Dołącz plik, co już udało się zrobić.
  • Poziom 8  
    OK, wysyłam.
    Chcialem taki prosty program zrobic, a potem ewentualnie go dopracować lekko, zeby mozna było edytowac. Ewentualnie to, zeby zapisywal pod okreslona scieszka w sieci i takie tam.
  • Specjalista - VBA, Excel
    Będzie miał czas tylko w godzinach wieczornych.
    Teraz tylko niektórzy wskazowki:
    2. Przydzielił dla każdej oceny słownej odpowiednia wartość liczbowa - uzyj wlasciwosc ComboBox'a ControlSource i BoundColumn=0
    4. ale żeby zapisał następne dane dla drugiego dostawcy w innym miejscu obok 1 dostawcy - dla ComboBox'ow uzyj 'bufor'(ControlSource), z niego nastepne kopie do kolejnych dostawcy.
    Ponadto, Nazwy arkuszy (1, 2, 3) wg. WBA trochę nonsens. Najlepiej co najmniej 4 litery w nazwie.
  • Poziom 8  
    dzieki,
    ale czy mozna jasniej - niestety nie jestem biegły w vba - dopiero zaczynam sie uczyć.
  • Pomocny post
    Specjalista - VBA, Excel
    Hmm... Trochu w VBA już utworzone. Nadzieję, że wiesz, jak nacisnąć F1.
    Wieczorem będzie więcej, teraz trochę czasu.

    Na przyszłość - Ja przemianowany arkuszy: 1 -> Form1, 2 -> Form2, 3 - Dictr
    Dictionary - Slownik

    PS
    Jeśli będą oceniane kilka dostawcy,co ma zrobić kiedy przycisk "Wydrukuj"?

    OCENA2 - Muszą być wypełnione wszystkie pola?
  • Poziom 8  
    Potem jak już dostawca oceniony vba wpisuje go w wers w tabeli w arkuszu 2. Ocena to średnia ważona każdego parametru z jego wagą.

    Nie wszystkie musza być wypełnione w ocena2. Zapomniałem dodać do każdego nie dotyczy. i wtedy to kryterium nie jest brane do liczenia średniej ważonej

    Dzięki ze pomagasz
  • Pomocny post
    Specjalista - VBA, Excel
    W arkuszu 2 komórki latwiej nie są scalone, ale tylko szeroki, łatwiej zarządzać nimi.
    opiotr84 napisał:
    Ocena to średnia ważona każdego parametru z jego wagą

    Z kazdego parametru wybierame tylko 1 wartosc. Z czego ta 'średnia ważona '.
    Napisz przyklad, jak liczyc ta 'średnia'
  • Poziom 8  
    Każde kryterium (8 ich jest) oceniane jest od 0 do 2. Następnie ocena jest mnożona przez wagę kryterium ( 1 arkusz). Wszystkie iloczyny dodaje sie fazę i dzieli przez 8 ( no chyba ze któregoś kryterium nie oceniamy bo nie dotyczy to wtedy podzielić trzeba przez 7)
  • Pomocny post
    Specjalista - VBA, Excel
    Zrobic gotowy dlugo potrwa, tym bardziej ze cala logika nieznana.

    Zobacz w tym przykladzie, zwlaszcza wlasciwosci BoundColumn, RowSource dla ComboBox i ControlSource dla wszystkiego i kombinuj.
  • Poziom 8  
    JRV jak zawsze mi pomoże - dziękuję