Stránka 1 z 1

VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 01 úno 2011 20:47
od WikisRuleZz
Dobrý den,

Mám formulář, kde se vyplňují nějaké hodnoty předdefinované v comboboxu. Je zde i tlačítko, které tyto hodnoty pak vyplní do excelu do buněk.

Potřebuji udělat kontrolu, zda-li je vyplněné nějaká hodnota z comboboxu. Pokud není vyhodí to msgbox s upozorněním a nic se nezapíše.

Kód pro zápis

Kód: Vybrat vše

Private Sub cmdZapis_Click()

SaveRow

If Cells(irow, 1).Value = "" Then
        irow = 1
    Else
        irow = irow + 1
        LoadRow
End If
    MonthView1.Value = Date
    ComboBox5.Value = "1/8 (423 min)"
   
    If CheckBox1.Value = True Then
    Unload Me
    End If


zkoušel jsem combobox.value isempty ale nějak mi to nefungovalo. Prosím o pomoc.

Re: VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 01 úno 2011 22:58
od navstevnik
Nejak mi neni jasne, co prilozena ukazka kodu ma vykonat.
Vyjdu-li z :
Potřebuji udělat kontrolu, zda-li je vyplněné nějaká hodnota z comboboxu.

potom kontrola vlastnosti Value na prazdnou hodnotu a zapis do prvni volne bunky ve sloupci muze vypadat ukazkove takto (predpoklad, ze RowSource zahrnuje i praznou bunku), procedura v modulu UserForm1:

Kód: Vybrat vše

Option Explicit

Private Sub ComboBox1_Click()
  Dim Cll As Range
  If Me.ComboBox1.Value <> vbNullString Then
    With Worksheets("list1")
      ' nalezt prvni prazdnou bunku ve sloupci, sloupec ma hlavicku:
      Set Cll = .Cells(.Rows.Count, "d").End(xlUp).Offset(1, 0)
    End With
    ' vlozit hodnotu z Combboxu do bunky
    Cll.Value = Me.ComboBox1.Value
  Else
    MsgBox "nutno vybrat hodnotu"
  End If
  Set Cll = Nothing  ' odstranit objektovou promennou
  Unload Me
End Sub

Re: VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 02 úno 2011 08:13
od WikisRuleZz
Ve své podstatě ta ukázka je prakticky zápis z formuláře a já právě do tohoto potřebuji dát jednotlivé kontroly comboboxů. Mám tam Combobox 1-5 a potřebuji aby se neprovedl zápis (ta ukázka) když je alespoň jeden z nich prázdný a vyskočil tam msgbox

Re: VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 02 úno 2011 09:58
od navstevnik
Kdyz ctu, co potrebujes, ta mi to pripada jako Lorem ipsum.
ComboBox slouzi pro 'rucni' vlozeni hodnoty, pripadne k vyberu ze seznamu. Takze mi unika smysl programoveho zapisu hdnoty do ComboBoxu, ale budiz.
Nize uvedena procedura v udalostni procedure tlacitka Sub cmdButton1_Click zkontroluje ComboBoxy (jejich nazvy zacinaji cbo: napr. cboBox1; cbo...; ...) a pokud nejsou prazdne, vykona zapis (psal jsi: "...., které tyto hodnoty pak vyplní do excelu do buněk."), je to demo, uprav si, zmen, napis cokoliv jineho, jak potrebujes.

Kód: Vybrat vše

Option Explicit

Private Sub cmdButton1_Click()
  Dim Cntrl As Control, Cll As Range
  ' test ComboBoxu na Value=vbnullstring
  For Each Cntrl In Me.Controls
    If Left(Cntrl.Name, 3) = "cbo" Then
      If Cntrl.Value = vbNullString Then
        MsgBox "V " & Cntrl.Name & " je nutno vybrat hodnotu", vbOKOnly + vbExclamation
        GoTo ExSub
      End If
    End If
  Next Cntrl
  ' zde je priklad zapisu do bunek sloupce
  For Each Cntrl In Me.Controls
    If Left(Cntrl.Name, 3) = "cbo" Then  ' test ComboBoxu
      With Worksheets("list1")
        ' nalezt prvni prazdnou bunku ve sloupci, sloupec ma hlavicku:
        Set Cll = .Cells(.Rows.Count, "d").End(xlUp).Offset(1, 0)
      End With
      ' vlozit hodnotu z Combboxu do bunky
      Cll.Value = Cntrl.Value
    End If
  Next Cntrl
  Set Cll = Nothing
ExSub:
  Set Cntrl = Nothing
  Unload Me
End Sub

Re: VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 02 úno 2011 12:02
od WikisRuleZz
Špatně jsem se vyjádřil. Mám combobox a v něm nějaké hodnoty na výběr. Při načtení je combobox prázdný a musím ho rozkliknout a vybrat nějakou hodnotu. Pak se tato hodnota při stisku tlačítka zapíše na danou pozici v sešitě třeba A1. To že je při načtení formuláře combobox prázdný je dobře. Akorád potřebuji msgbox když někdo zapomene vyplnit combobox.

Takže něco jako když je combobox prázdný pak msgbox "zadej hodnotu".

Lorem ipsum je generátor? Nechápu tedy přirovnání.

Re: VBa - kontrola vyplněné hodnoty v comboboxu

Napsal: 02 úno 2011 14:53
od navstevnik
http://cs.wikipedia.org/wiki/Lorem_ipsum
...
znázorňuje text ... než bude do hotového návrhu vložen smysluplný obsah
...
Text připomíná klasickou latinu, avšak ve skutečnosti je nesmyslný, smyšlený.
...

Pri trose namahy z predchozich odpovedi jsi mohl ziskat potrebne reseni.
Pripoj v priloze sesit obsahujici cast, se kterou potrebujes pomoci.

Re: VBa - kontrola vyplněné hodnoty v comboboxu  Vyřešeno

Napsal: 02 úno 2011 15:24
od WikisRuleZz
Ano, odpověď jsem použil. Jen jsem měl potřebu doplnit informace.