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

Jak połączyć VBA i porównać 2 różne arkusze przez wybranie ComboBox ? ?

ANDRESDR80 19 Paź 2015 21:41 459 6
  • #1 19 Paź 2015 21:41
    ANDRESDR80
    Poziom 4  

    Witam
    mam formularz z dwoma polami ComboBox
    W UserForm Initialize ma kod dla ComboBox

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    [/code]

    Mam funkcję pod przyciskiem, która działa dla dwóch konkretnych arkuszy:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod



    Proszę o pomoc jak zrobić:
    1. Wybierając ComboBox1 i ComboBox2 chcę porównać 2 różne arkusze o zakresie N:N w tym przypadku
    2. W każdym arkuszu kolumny są takie same różnią się tylko wartości
    3. Np. ComboBox1=styczeń i ComboBox2 = luty po wciśnięciu przycisku wykonuję formułę porównania kolumny N:N

    Dziękuję za pomoc

    0 6
  • #2 20 Paź 2015 00:07
    adamas_nt
    Moderator Programowanie

    Ale co, z czym i na jakich warunkach ma być porównane? Co jeśli ComboBox1=luty i ComboBox2 = luty? Bo z opisu nie wynika żadna różnica...

    Opisz jaśniej, lub wrzuć przykład w załączniku. Trzeba zrobić pętlę, pewnie prostą. Po mojemu najprościej byłoby porównywać wysokość komórek, ale pewnie nie o to chodzi ;)

    0
  • #3 20 Paź 2015 08:18
    ANDRESDR80
    Poziom 4  

    Witam,

    Sprubuję jaśniej to wyjaśnić:

    1. Mam arkusze nazwane od styczeń - grudzień
    2. Wszystkie nazwy kolumn są takie same różnica wartości liczbowych jest tylko w kolumnie N:N każdego arkusza
    3. Chodzi o porównanie miesiąc do miesiąca za pomocą ComboBox:
    - użytkownik wybiera arkusze za pomocą Combobox1 i ComboBox2
    - klika przycisk i zostają porównane wartości :
    czy w stosunku do arkusza wybranego z ComboBox1 nastąpiła zmiana w arkuszu z ComboBox2 ?
    Jeżeli jest różnica wartości w arkuszu wybranym z ComboBox2 w kolumnie N:N to w wynik "zmiana" zostaje wpisany do kolumny Z:Z arkusza ComboBox2.

    Mam nadzieję, że w miarę prosto to wyjaśniłem.
    Dziękuję za pomoc

    0
  • #4 20 Paź 2015 09:24
    -psiak-
    Poziom 32  

    Czemu nie chcesz zrobić to za pomocą formuły?

    0
  • #5 20 Paź 2015 19:40
    ANDRESDR80
    Poziom 4  

    Gdybym to robił sam to bym wykorzystał formułę, ale muszę uprościć to dla użytkowników, którzy nie chcą się uczyć niczego tylko klikać. Dlatego proszę o pomoc bo męczę się już kilka dni.

    0
  • #6 20 Paź 2015 19:58
    adamas_nt
    Moderator Programowanie

    ANDRESDR80 napisał:
    czy w stosunku do arkusza wybranego z ComboBox1 nastąpiła zmiana w arkuszu z ComboBox2 ?
    Czyli jeden do jeden (nie jeden do każdego)? Bo to znacząca różnica.

    Tzn: czy komórka1=komórka1; komórka2=komórka2

    iif(ark1.kom1=ark2.kom1;"";"zmiana") w pojedynczej pętli? Ilość komórek w obu kolumnach zawsze taka sama? itd/itp

    Dużo czasu zaoszczędzisz, jeśli wrzucisz plik z przykładem.

    0
  • #7 21 Paź 2015 19:50
    ANDRESDR80
    Poziom 4  

    Witam,
    Załączam przykładowy plik z danymi, co prawda tych kolumn będzie więcej ale mnie interesuje żeby użytkownik mógł wybrać dowolny arkusz (miesiąc) i porównać względem nr indeksów dane z kolumny punkty.
    Czyli sprawdzam np. czy w lutym dla danego numeru indeksu zmieniła się liczba punktów w stosunku do miesiąca np. stycznia i w nowej kolumnie wpisuje wynik jesli była zmiana, w komórce pojawia się tekst "zmiana".

    Nie musi to być koniecznie ComboBox może jest jakaś inna metoda żeby użytkownik mógł wybrać z formularza dany arkusz i zakres. Próbowałem z RefEdit ale mi nie wychodziło.

    0