Excel- VBA- podmienka
Dobry den,
v Exceli mam funkciu:
1. spusti proces
|
v
2. InputBox (zapise udaj do AA1)
|
v
3. Je udaj v AA1 zapisany?
a chcem ak:
je podmienka splnena, proces zbehne dalej (prip. zavola proceduru), ak nie, aby skocilo k bodu 1 respp. 2
Ako bude dana funkcia vyzerat?
Momentalne f-cia vyzera nasledovne:
Sub x()
With Range("AA1")
Do
.Value = InputBox("vpis text")
Loop Until .Value = "podmienka"
End With
End Sub
No InputBox zostav stale spusteny a proces nepokracuje dalej. InputBox sa neda ani zatvorit.
Proste potrebujem,ze ak sa hodnota vpsie, nech proces pokracuje skopirovanim hodnoty do "AA1" a dalej.
Ak sa nevpise, nech sa proces zastavi ale nech je mozne InputBox zatvorit
Vopred DAKUJEM
Dakujem za odpoved.
Nooo.. ja netvrdim, ze VB ovladam perfektne takze ano.. vela veci neviem.. prave preto som tu a pytam sa.. (tu podmienku som celkom prehladol..- moja chyba)
Funguje to takto OK, iba InputBox sa neda zatvorit.
Som otvoreny akemukolvek inemu rieseniu no chcem poprosit o strpenie, nakolko sa povazujem za zaciatocnika.
Dakujem
Tak počkej, teď jsem si to pročetl znovu a nějak si odporuješ. Prvně píšeš:
Čili chceš, aby se zadávání opakovalo do doby, než opravdu něco zadáš.
A pak chceš, aby šel InputBox zavřít:
Což se ale rovná tomu, že nic nezadáš, protože InputBox při stisku Cancel do výstupní hodnoty předá prázdný řetezec (""), tj. to samé, jako když do vstupního políčka nezapíšeš nic a stiskneš OK. Ve VBA prostě nemáš šanci tyto dva stavy odlišit.
Rozumiem. Existuje teda nejake ine riesenie? Pokojne pristupim na akykolvek napad.
Dakujem
Ano. Místo cyklu dát podmínku - když je vstupní řetězec odlišný od "", bude se pokračovat, jinak se skončí. Pro další zadání budeš muset makro spustit znovu.
Eventuelně ještě doplnit dotazem (MsgBox) "Opravdu skončit?" s tlačítky Ano / Ne:
a testovat odpověď (InpMsg) na hodnoty vbYes / vbNo.
A protože - jak píšeš - jseš ve VBA začátečník, studuj z těchto perfektních stránek:
http://office.lasakovi.com/excel/vba-formulare/exc el-inputbox-vstupni-box/
http://office.lasakovi.com/excel/vba-formulare/exc el-vba-dialogove-okno-msgbox/