prompt:issa on se cancel-nappi, niin miten saa sen sillei kun siitä painaa niin se palaa siihen formiin missä se prompti on tehty...
ja sitten vielä se että jos jättää promptin tyhjäksi niin tulisi msgbox että kirjoita nimesi
Jos tarkoitat InputBox:ia, ei ole mahdollista tietää, painettiinko Cancel vai oliko tekstikenttä tyhjä, molemmat palauttavat tyhjän.
Antti on oikeassa... mutta voithan aina asettaa default arvon ja tutkia palautettiinko tyhjä arvo.
Eli jos käyttäjä tyhjensi default arvon ja painoi OK tulkitset sen ohjelmallisesti samaksi kuin jos käyttäjä olisi painanut cancel-nappia:
Dim a As String ' Looppi, joka pysyy päällä kunnes nimi annetaan Do While a = "" Or a = "0" ' Tässä kysytään nimeä a = InputBox("Anna nimesi", "Nimi kiitos...", "0") If a <> "" And a <> "0" Then ' Nimi saatu - asetetaan focus lomakkeeseen ' Tosin tarpeeton, koska focus menee siihen lomakkeeseen joka tapauksessa Form1.SetFocus ' Poistutaan loopista Exit Do End If Loop
Aseta a-muuttuja public muuttujaksi tai kopioi a-muuttuja haluamaasi "nimi"-muuttujaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.