|
Domanda.
nome=Massimo
cognome=Corsato
versione=2000
conosco2=medio
macro=SI
email=m.corsato@elettrobeton.com
chra=175
problema=Ho una InputBox sulla quale richiedo un valore numerico. Sull'Help
on line c'è scritto che se premo ok o Invio mi viene restitutita la stringa
immessa mentre se premo annulla mi viene restituita una stringa di lunghezza
0.
Quando premo annulla la lunghezza che mi viene restituita è 2, forse perchè
la variabile è di tipo Integer.
Vorrei capire se esiste un modo per intercettare che il tasto premuto è
annulla. Di seguito ti mando il codice macro.
Grazie a tutti.
Private Sub CommandButton5_Click()
Anno:
Messaggio = "Immettere Anno Elaborazione (aaaa)"
Titolo = "Anno Elaborazione"
On Error Resume Next
Anno = InputBox(Messaggio, Titolo, Anno)
If Len(Anno) = 0 Then Exit Sub
If Err.Number = 13 Or Anno < 1997 Or Anno > 2010 Then
ErroreTipo
GoTo Anno
End If
Risposta.
no Massimo, la routine va bene; se non scrivi niente e premi Ok o premi
annulla, la lunghezza della stringa è zero, non due.
E appunto l'istruzione If Len(Anno) = 0 Then Exit Sub che controlla il
tasto Annulla, in quanto annullare corrrisponde a fornire una lunghezza zero
alla variabile Anno, così come se tu lasciassi la inputbox vuota e premessi
Ok, e l'istruzione ti fa uscire dalla macro
La variabile Anno poi non è Integer, ma Variant, a meno che tu a monte non
la dichiari diversamente, ma nelle istruzioni inviatemi, questo non figura.
Mi sa che non ti sei spiegato granchè bene, comunque, saluti, ennius
|