Celá konstrukce (2x IF...ENDIF) je zbytečně složitá. Jednak je poněkud masochistické 2x volat vlastnost Value comboboxu (to je dvojí pomalé volání funkce!), jednak je zbytečné ME (formuláře znají své děti) a jednak je zbytečné porovnávat stringy (vpravo) s varianty (vlevo, výsledky vlastnosti Value), když mnohem přirozenější a rychlejší je porovnávat stringy se stringy. Vždyť přece stačí
Dim S$, X&
S = COMBOBOX8.
Text
X = IIf(S = "CENA", 2, IIf(S = "NESHODA", 3, X))
nebo
Dim S$, X&
S = COMBOBOX8.Text
If S = "CENA" then X = 2 Else If S = "NESHODA" Then X = 3
To druhé ukládá Excel dost nehospodárně, funkci IIf ukládá líp.
A
pokud v comboboxu nemohou být jiné hodnoty než uvedené dva texty, pak má asi combobox v rozevíracím seznamu uvedeny právě tyto dva texty; dejme tomu, že v pořadí "CENA", "NESHODA". Pak přece stačí
Dim X&
X = COMBOBOX8.ListIndex + 2
citovat