Come mettere in pausa una macro in attesa dell’input dall’utente

Coloro che utilizzano programmi di fogli di calcolo da un po’ di tempo, potrebbero ricordare il vecchio comando {?}~ disponibile in Lotus 1-2-3. Questo comando consentiva di mettere in pausa la macro mentre l’utente inseriva i dati nel foglio di calcolo.

Excel non include la stessa funzionalità, ma consente di richiedere input all’utente. I due metodi principali sono questi:

  • Funzione MsgBox. Questa funzione visualizza una finestra di dialogo e una serie di pulsanti. Quando l’utente fa clic su un pulsante, viene restituito un valore intero che indica il pulsante su cui è stato fatto clic. Il tuo programma può quindi agire in base al valore restituito (per ulteriori informazioni sulla funzione MsgBox, vedi questo suggerimento).
  • Funzione InputBox. Questa funzione visualizza una finestra di dialogo e consente all’utente di digitare una risposta. Qualunque cosa digitata dall’utente viene restituita come stringa alla macro. (per ulteriori informazioni sulla funzione InputBox, vedi questo suggerimento).

 

In base all’input dell’utente, è possibile modificare ciò che fa la macro nel modo che desideri. L’unico inconveniente delle funzioni è che restituiscono solo un singolo dato distinto. In altre parole, non sono progettate per consentire all’utente di inserire un intervallo di celle e quindi continuare l’elaborazione. Ad esempio, se volessi chiedere all’utente di fornire cinque valori destinati a cinque celle, dovresti presentare un InputBox cinque volte, depositando le risposte dell’utente nelle celle desiderate una dopo l’altra.

Ecco un tipico esempio dell’uso di InputBox e MsgBox: questa macro chiede di inserire una o più lettere di colonna e fornisce il numero di colonna corrispondente:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

 

Tags: , , , , , ,

Ti è stato utile?