Sono un grande fan della serie di film Matrix. È un'opera straordinaria del suo tempo e una delle mie serie di film di fantascienza preferite.
Se hai visto Matrix, è impossibile non ricordare la sequenza di codice che cade.
Ho pensato di crearlo in Excel, ma qualcuno mi ha battuto. È già stato creato ed è disponibile qui.
Nitin Mehta, che ha creato questo, ha utilizzato un paio di funzioni di Excel, la formattazione condizionale e una barra di scorrimento per creare questo effetto.
L'ho modificato per rimuovere la barra di scorrimento e ho invece utilizzato un codice VBA. Ora puoi semplicemente fare clic sul pulsante di riproduzione e i numeri inizieranno a cadere da soli. Qualcosa come mostrato di seguito:
Effetto Matrix Falling Numbers in Excel
Ecco i passaggi per creare l'effetto dei numeri in caduta della matrice in Excel:
- Nella prima riga nell'intervallo A1:AP1, immettere numeri casuali compresi tra 0 e 9. È possibile immettere manualmente questi numeri o utilizzare la funzione RANDBETWEEN. Ricorda di convertire questi numeri in valori.
- Ridurre la larghezza della colonna in modo che sia visibile in un'unica schermata.
- Nell'intervallo A2:AP32, inserisci la formula: =INT(RAND()*10)
- Copia e incolla il codice seguente in un modulo in VBA
#If VBA7 Then Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Per sistemi a 64 bit #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Per sistemi a 32 bit #End If Sub MatrixNumberRain () i = 1 Do While i <= 40 DoEvents Range("AR1").Value = ii = i + 1 Sleep 50 Loop End Sub
Questo codice sopra inserirebbe il numero da 1 a 4o nella cella AR1. Il codice Sleep 50 ritarderebbe l'inserimento dei numeri di 50 millisecondi. Se esegui questo codice, sarai in grado di vedere il valore in AR1 passare da 1 a 40.
Ora dobbiamo specificare tre regole di formattazione condizionale per dare colore a questi numeri.
Regola di formattazione condizionale n. 1
- Seleziona l'intervallo A2:AP32, vai su Home -> Formattazione condizionale -> Nuova regola
- Nella finestra di dialogo Nuova regola di formattazione, fai clic su "Utilizza una formula per determinare quali celle formattare" e inserisci la seguente formula:
=MOD($AR$1,15)=MOD(RIGA()+A$1,15)
- Fare clic sul pulsante Formato e impostare il colore del carattere su bianco
- Fare clic su OK
Regola di formattazione condizionale n. 2
- Con l'intervallo A2:AP32 selezionato, vai su Home -> Formattazione condizionale -> Gestisci regola
- Nella finestra di dialogo Gestore regole di formattazione condizionale, fare clic su Nuova regola
- Nella finestra di dialogo Nuova regola di formattazione, fai clic su "Utilizza una formula per determinare quali celle formattare" e inserisci la seguente formula:
=MOD($AR$1,15)=MOD(RIGA()+A$1+1,15) - Fare clic sul pulsante Formato e impostare il colore del carattere su verde chiaro
- Fare clic su OK
Regola di formattazione condizionale n. 3
- Con l'intervallo A2:AP32 selezionato, vai su Home -> Formattazione condizionale -> Gestisci regola
- Nella finestra di dialogo Gestore regole di formattazione condizionale, fare clic su Nuova regola
- Nella finestra di dialogo Nuova regola di formattazione, fai clic su "Utilizza una formula per determinare quali celle formattare" e inserisci la seguente formula:
=OR(MOD($AR$1,15)=MOD(ROW()+A$1+2,15),MOD($AR$1,15)=MOD(ROW()+A$1+3,15), MOD ($AR$1,15)=MOD(ROW()+A$1+4,15),MOD($AR$1,15)=MOD(ROW()+A$1+5,15)) - Fare clic sul pulsante Formato e impostare il colore del carattere su verde chiaro.
- Fare clic su OK.
In base al numero di riga e al valore nella prima riga, la formattazione condizionale colora il testo in verde, verde chiaro o bianco.
Ora seleziona l'intero intervallo di celle (A1: AP32) e rendi lo sfondo nero.
Come passaggio finale, inserisci una forma/pulsante e assegna questa macro a quella forma/pulsante.
Nota: Poiché contiene un codice VBA, salva il file con estensione .xls o .xlsm.
Questo è tutto! Ora prenditi una tazza di caffè, mettiti all'ombra e goditi la pioggia digitale dei numeri che cadono di Matrix 🙂