Matrise Falling Numbers Effect i Excel ved hjelp av VBA

Innholdsfortegnelse

Jeg er en stor fan av Matrix -filmserien. Det er et fantastisk stykke arbeid i sin tid og en av mine favoritter science fiction -filmserier.

Hvis du har sett Matrix, er det ingen måte du ikke husker den fallende kodesekvensen.

Jeg tenkte å lage dette i Excel, men noen slo meg. Den er allerede opprettet og er tilgjengelig her.

Nitin Mehta, som opprettet dette, brukte et par Excel -funksjoner, betinget formatering og en rullefelt for å lage denne effekten.

Jeg har endret den for å fjerne rullefeltet og har brukt en VBA -kode i stedet. Nå kan du bare klikke på spillknappen, og tallene begynner å falle av seg selv. Noe som vist nedenfor:

Matrise Falling Numbers Effect i Excel

Her er trinnene for å lage matrisen fallende tall -effekten i excel:

  • I den første raden i området A1: AP1, angir du tilfeldige tall mellom 0 og 9. Du kan enten angi disse tallene manuelt med funksjonen RANDBETWEEN. Husk å konvertere disse tallene til verdier.
    • Reduser kolonnebredden slik at den er synlig i en enkelt skjerm.

  • Skriv inn formelen i området A2: AP32: = INT (RAND ()*10)
  • Kopier og lim inn koden nedenfor i en modul i VBA
    #If VBA7 deretter offentlig erklærer PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 64 Bit Systems #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)' For 32 Bit Systems #End If Sub MatrixNumberRain () i = 1 Do While i <= 40 DoEvents Range ("AR1"). Value = ii = i + 1 Sleep 50 Loop End Sub

Denne koden ovenfor vil angi tallet fra 1 til 4o i celle AR1. Koden Sleep 50 vil forsinke inntasting av tall med 50 millisekunder. Hvis du kjører denne koden, vil du kunne se verdien i AR1 gå fra 1 til 40.

Nå må vi spesifisere tre betingede formateringsregler for å gi farge til disse tallene.

Betinget formateringsregel #1

  • Velg området A2: AP32, gå til Hjem -> Betinget formatering -> Ny regel

  • I dialogboksen Ny formateringsregel klikker du på 'Bruk en formel for å bestemme hvilke celler som skal formateres' og skriver inn følgende formel:
    = MOD ($ AR $ 1,15) = MOD (RAD ()+$ 1,15)

  • Klikk på formatknappen og sett skriftfargen til hvit

  • Klikk OK

Betinget formateringsregel #2

  • Med området A2: AP32 valgt, går du til Hjem -> Betinget formatering -> Administrer regel
  • Klikk på Ny regel i dialogboksen Conditional Formatting Rules Manager
  • I dialogboksen Ny formateringsregel klikker du på 'Bruk en formel for å bestemme hvilke celler som skal formateres' og skriver inn følgende formel:
    = MOD ($ AR $ 1,15) = MOD (RAD ()+A $ 1+1,15)
  • Klikk på formatknappen og sett skriftfargen til lys grønn
  • Klikk OK

Betinget formateringsregel #3

  • Med området A2: AP32 valgt, går du til Hjem -> Betinget formatering -> Administrer regel
  • Klikk på Ny regel i dialogboksen Conditional Formatting Rules Manager
  • I dialogboksen Ny formateringsregel klikker du på 'Bruk en formel for å bestemme hvilke celler som skal formateres' og skriver inn følgende formel:
    = ELLER (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))
  • Klikk på formatknappen og sett skriftfargen til lys grønn.
  • Klikk OK.

Basert på radnummeret og verdien i den første raden, vil betinget formatering farge teksten grønn, lys grønn eller hvit.

Velg nå hele celleområdet (A1: AP32) og gjør bakgrunnen svart.

Som et siste trinn setter du inn en form/knapp og tilordner denne makroen til den formen/knappen.

Merk: Siden dette har en VBA -kode i den, lagrer du filen med .xls eller .xlsm forlengelse.

Det er det! Få deg en kopp kaffe, stå i skyggen og nyt Matrix fallende tall digitalt regn 🙂

wave wave wave wave wave