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
LoopAseta a-muuttuja public muuttujaksi tai kopioi a-muuttuja haluamaasi "nimi"-muuttujaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.