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.

VB - VBA - Początki VB lista rozwijana excel

11 Mar 2014 18:16 13149 16
  • 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
  • Specjalista - VBA, Excel
    Witaj
    Lista wartości jest gdzieś na arkuszu, lub musi być wykonane makro?
  • Poziom 7  
    Combobox bedzię w formularzu. A formularz pokazuje się po otwarciu excela.
  • Specjalista - VBA, Excel
    Nie pytałem o to.
    Dane dla listy pobierane sa z arkusza, czy bezposrednio z poziomu makra?
  • Poziom 7  
    Przez makro
  • 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
  • Poziom 7  
    OK działa tylko jak to teraz przekazać

    ComboBox1.Value = Uas - nie działa

    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • 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'
  • 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
  • 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?
  • 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
  • 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
  • Poziom 7  
    Uas będzię miało wartość np "RT" czyli tekst
  • Specjalista - VBA, Excel
    Załącznik jest bardzo tajne, że nie można umieścić tutaj?
  • 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.
  • Poziom 7  
    Już mam rozwiazanie . Dzięki za pomoc adamas