< návrat zpět

MS Excel


Téma: Podmínky rss

Zaslal/a 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

Zaslat odpověď >

#016603
avatar
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
#016605
avatar
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
#016608
avatar
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: zip16608_priklad-userform.zip (34kB, staženo 36x)
citovat
#016611
avatar
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
#016613
avatar
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ěna
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje