< návrat zpět
MS Excel
Téma: Podmínky
Zaslal/a Martin12345678 1.12.2013 21:43
Zdravím, bojuji s více podmínkama, které ověřují zda jsou zadány potřebné údaje a po kontrole se potřebuji přepnout na jiný form, ale nemůžu přijít na to, jak to udělat, aby se vše zkontrolovalo a pokud je splněno tak přepnout na další form. Pomůže někdo?
If ComboBox1 = "" Then
MsgBox "Vyberte typ linky...", vbInformation
End If
If CheckBox1 = False Then
If CheckBox2 = False Then
MsgBox "Vyberte rozměr... ", vbInformation
End If
End If
If CheckBox1 = True Then
If TextBox1 = "" Then
MsgBox "Zadejte délku...", vbInformation
If TextBox2 = "" Then
MsgBox "Zadejte šířku...", vbInformation
If TextBox2 = "" Then
MsgBox "Zadejte výšku...", vbInformation
End If
End If
End If
End If
Vypocet.Show ' Sem potřebuji přepnout pokud je kontrola splněna
Pavlus(1.12.2013 23:23)#016603 Můžeš to např. vložit opět do If, stačí tam jenom dát více podmínek a využít logickou spojku.
Tedy např.: If podminka_1 And podminka_2...
P.
citovat
Richard99(2.12.2013 12:11)#016605 Já bych to s těma kontrolama tak nepřeháněl. Ono to většinou hodí nějakou chybu ve výpočtu a ať si uživatel najde, co zapoměl zadat. Ošetřit jenom chyby ve výpočtu a je stím polovina práce.
citovat
Dingo(2.12.2013 14:37)#016608 Není to napasované na tvůj kód, je to jen pro inspiraci.
Osekal jsem to ze svého velkého díla, kde se po prvním otevření objeví formulář na vstupní údaje. Kontrola vyplnění je zjednodušená, spojená a bez Msgboxů, jen červený text, který zase zmizí. Po zadání čísel a uložení souboru se po druhém puštění už formulář neobjeví. To jsem měl tak u sebe, nechal jsem to tam, ale ta kontrola Texboxů tam je.
Příloha: 16608_priklad-userform.zip (34kB, staženo 36x) citovat
Díky za tipy. Už se stím mazlím pár hodin, uplatňuji logiku, nebo pokus/omyl, ale nedám to asi, problém je ten, že potřebuji pro každej prvek (CheckBox, TextBox a ComboBox) mít svůj MsgBox text, což mě nejde uplatnit a nervíky už mě pomalu začínají zvedat tlak. Zkoušel jsem to uplatnit na Dingovo řešení, ale neúspěšně. Už jsem teda dva dny nespal, tak mě to vůbec nemyslí:-(
citovat
cmuch(2.12.2013 20:39)#016613 A co takto?
If ComboBox1 = "" Then
MsgBox "Vyberte typ linky...", vbInformation
Exit Sub
End If
If CheckBox1 = False Then
If CheckBox2 = False Then
MsgBox "Vyberte rozměr... ", vbInformation
Exit Sub
End If
End If
If CheckBox1 = True Then
If TextBox1 = "" Then
MsgBox "Zadejte délku...", vbInformation
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Zadejte šířku...", vbInformation
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Zadejte výšku...", vbInformation
Exit Sub
End If
End If
Vypocet.Show ' Sem potřebuji přepnout pokud je kontrola splněnacitovat