Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VB - VBA - Początki VB lista rozwijana excel

thestreet 11 Mar 2014 18:16 8529 16
  • #1 11 Mar 2014 18:16
    thestreet
    Poziom 7  

    Witam,

    Mam problem z ComboBox w excelu 2010. W formularza (UserForm1) dodałem listę (comboboxa)

    Problem polega na tym, że nie mogę wpisać wartości wybieralnych do listy

    Dzięki za pomoc

    Kod: vb
    Zaloguj się, aby zobaczyć kod

  • #2 11 Mar 2014 20:03
    JRV
    Specjalista - VBA, Excel

    Witaj
    Lista wartości jest gdzieś na arkuszu, lub musi być wykonane makro?

  • #3 11 Mar 2014 20:25
    thestreet
    Poziom 7  

    Combobox bedzię w formularzu. A formularz pokazuje się po otwarciu excela.

  • #4 11 Mar 2014 20:35
    JRV
    Specjalista - VBA, Excel

    Nie pytałem o to.
    Dane dla listy pobierane sa z arkusza, czy bezposrednio z poziomu makra?

  • #5 11 Mar 2014 22:13
    thestreet
    Poziom 7  

    Przez makro

  • #6 11 Mar 2014 22:32
    JRV
    Specjalista - VBA, Excel

    Private Sub UserForm_Initialize()
    For i = 0 To 5
    Me.ComboBox1.AddItem "Tekst_" & i
    Next
    End Sub

    albo

    Private Sub UserForm_Initialize()
    Me.ComboBox1.AddItem "Tekst_1"
    Me.ComboBox1.AddItem "Tekst_2"
    'itd.
    End Sub

  • #7 12 Mar 2014 19:28
    thestreet
    Poziom 7  

    OK działa tylko jak to teraz przekazać

    ComboBox1.Value = Uas - nie działa

    Kod: vb
    Zaloguj się, aby zobaczyć kod

  • #8 12 Mar 2014 19:38
    JRV
    Specjalista - VBA, Excel

    Jaka jest wartość zmiennej Uas? To globalna zmienna?
    Oprócz dodawania pozycji na liście ComboBox jest metoda .AddItem, i nie właściwość Value.
    Lub co najmniej naciśnij klawisz F1, aby wprowadzić Szukaj ComboBox i zobacz metody i właściwości oraz 'Example'

  • #9 12 Mar 2014 20:40
    thestreet
    Poziom 7  

    Tak
    Public Uas As String

    W podpowiedzi istnieje możliwość wyboru
    ComboBox1.Value

    the default property of a combobox is the value property

  • #10 12 Mar 2014 20:47
    JRV
    Specjalista - VBA, Excel

    Myślę, że wartość Uas otrzymają z ComboBox po wybraniu z listy (zdarzenie ComboBox1_Change):
    Uas=ComboBox1.Value

    Dodano po 1 [minuty]:

    W przeciwnym razie do czego jest kombo?

  • #11 13 Mar 2014 18:22
    thestreet
    Poziom 7  

    Taki przypadek przećwiczyłem efektem jest pusta lista wyboru. I to właśnie jest problem

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    VB - VBA - Początki VB lista rozwijana excel

  • #12 13 Mar 2014 18:30
    JRV
    Specjalista - VBA, Excel

    thestreet napisał:
    Sub ComboBox1_Change()Me.ComboBox1.AddItem "Tekst_1"

    przed tym co jest znaczenie Uas ?
    Uas - to liczba lub ciąg? Ma wartość?
    lepiej załącznik tutaj

  • #13 13 Mar 2014 22:42
    thestreet
    Poziom 7  

    Uas będzię miało wartość np "RT" czyli tekst

  • #14 13 Mar 2014 22:48
    JRV
    Specjalista - VBA, Excel

    Załącznik jest bardzo tajne, że nie można umieścić tutaj?

  • #15 14 Mar 2014 08:53
    adamas_nt
    Moderator Programowanie

    Kolego thestreet. Nie można tak bezmyślnie "szastać kodem" gdzie popadnie.
    Polecam zapoznanie się z podstawami Link
    Proszę zwrócić uwagę na omówienie edytora VB, szczególnie list rozwijalnych (obiekty/zdarzenia) u góry ekranu.

    Wracając do tematu:
    1. Zmienne publiczne deklarujemy w module standardowym, nie w kodzie formularza (patrz Link wyżej, zasięg zmiennych).
    2. Kolega JRV sugerował przypisanie i tylko przypisanie wartości zmiennej w zdarzeniu ComboBox.

    Na chłopski rozum: Combobox powinien mieć wypełnioną listę po otwarciu formularza. Tak? Czyli wypełniamy ją przy Form_Initialize.
    Przypisanie wartości zmiennej powinno nastąpić po wybraniu wartości z listy, już przy otwartym formularzu. Tak? Patrz pkt.2

    W załączniku przykład zastosowania w/w z wykorzystaniem kodu autora.

  • #17 14 Mar 2014 16:11
    thestreet
    Poziom 7  

    Już mam rozwiazanie . Dzięki za pomoc adamas

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo