
COME CREARE UNA MACRO SU EXCEL
Indovina il numero pensato
Ricordate il gioco pensa a un numero, moltiplicalo per 2, aggiungi Y (il numero chiave) dividi tutto per 2, sottrai il numero che hai pensato
Il risultato è dato dal numero che abbiamo fatto aggiungere Y diviso 2.
Per semplificare il calcolo il nostro numero lo scegliamo piccolo e pari in modo da essere divisibile per 2
Da qui ricaviamo l’equazione dove la x è il numero del pensante:
[ ( 2x + y ) * 1/2 ] – x =
Scritta meglio con soluzione

Spiegazione
- nel foglio ho utilizzato delle celle di appoggio con la funzione random =CASUALE.TRA(1;30) la quale estrae un numero compreso tra 1 e 30;
- ho creato due colonne, nella prima ho inserito un elenco da 1 a 30 e nella colonna adiacente un altro elenco di soli numeri pari compresi tra 1 e 30 ripetendoli 2 volte e disponendoli a caso;
- su un’altra cella di appoggio ho utilizzato la funzione =CERCA.VERT(cella-risultante;cellax:cellay;intervallo-indice-2;FALSO). Quindi viene estratto un numero a random e trovo il corrispondente che sarebbe il numero pari da sommare.
Eseguendo la macro vengono aggiornati i valori in automatico e ad ogni avvio il gioco è sempre diverso.
Ecco il codice inserito in un modulo nel compilatore VB, Alt+F11 per aprire l’editor VB
'Inizio macro Seleziona il foglio
Sheets("Pensa Un Numero").Select
'Aggiornamento Random
Range("C16").Select 'Seleziona la cella e inserisce la formula random in modo da aggiornare sempre il foglio
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,30)"
Range("B3").Select 'Seleziona la cella B3
'Inizio
Dim A As Integer
Y = Cells(12, 3).Value 'Valore da aggiungere cella C12
Z = Cells(14, 3).Value 'Risultato da visualizzare cella C14
MsgBox "Pensa un numero...", vbInformation
MsgBox "Moltiplicalo x 2", vbInformation
MsgBox "Aggiungi = " + Str(Y), vbInformation
MsgBox "Dividi x 2", vbInformation
MsgBox "Sottrai il numero che hai pensato", vbInformation
MsgBox "Il risultato è = " + Str(Z), vbInformation
End Sub
5/5 - (10 voti)