Matris Falling Numbers Effect i Excel med VBA

Innehållsförteckning

Jag är ett stort fan av Matrix -filmserien. Det är ett fantastiskt verk av sin tid och en av mina favoriter i science fiction -filmer.

Om du har sett Matrix finns det inget sätt att du inte kommer ihåg den fallande kodsekvensen.

Jag tänkte skapa detta i Excel, men någon slog mig till det. Det har redan skapats och finns här.

Nitin Mehta, som skapade detta, använde ett par Excel -funktioner, villkorlig formatering och en rullningslist för att skapa denna effekt.

Jag har ändrat den för att ta bort rullningslisten och har använt en VBA -kod istället. Nu kan du helt enkelt klicka på uppspelningsknappen så börjar siffrorna sjunka av sig själv. Något som visas nedan:

Matrisfallande siffror i Excel

Här är stegen för att skapa matrisen fallande siffror i Excel:

  • På den första raden i intervallet A1: AP1 anger du slumpmässiga nummer mellan 0 och 9. Du kan antingen manuellt ange dessa nummer för att använda funktionen RANDBETWEEN. Kom ihåg att konvertera dessa tal till värden.
    • Minska kolumnbredden så att den syns i en enda skärm.

  • I intervallet A2: AP32 anger du formeln: = INT (RAND ()*10)
  • Kopiera och klistra in nedanstående kod i en modul i VBA
    #Om VBA7 sedan offentlig förklarar PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'För 64 bitars system #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

Denna kod ovan anger siffran från 1 till 4o i cell AR1. Koden Sleep 50 skulle fördröja inmatningen av siffror med 50 millisekunder. Om du kör den här koden skulle du kunna se värdet i AR1 gå från 1 till 40.

Nu måste vi ange tre villkorliga formateringsregler för att ge färg till dessa nummer.

Villkorlig formateringsregel #1

  • Välj intervall A2: AP32, gå till Hem -> Villkorlig formatering -> Ny regel

  • I dialogrutan Ny formateringsregel klickar du på "Använd en formel för att avgöra vilka celler som ska formateras" och ange följande formel:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+$ 1,15)

  • Klicka på formateringsknappen och ställ in teckensnittsfärgen till vit

  • Klicka på OK

Villkorlig formateringsregel #2

  • Med intervallet A2: AP32 valt, gå till Hem -> Villkorlig formatering -> Hantera regel
  • Klicka på Ny regel i dialogrutan Villkorlig formateringsregelhanterare
  • I dialogrutan Ny formateringsregel klickar du på "Använd en formel för att bestämma vilka celler som ska formateras" och ange följande formel:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+$ 1+1,15)
  • Klicka på formateringsknappen och ställ in teckensnittsfärgen till ljusgrön
  • Klicka på OK

Villkorlig formateringsregel #3

  • Med intervallet A2: AP32 valt, gå till Hem -> Villkorlig formatering -> Hantera regel
  • Klicka på Ny regel i dialogrutan Villkorlig formateringsregelhanterare
  • I dialogrutan Ny formateringsregel klickar du på "Använd en formel för att bestämma vilka celler som ska formateras" och ange följande 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))
  • Klicka på formateringsknappen och ställ in teckensnittsfärgen till ljusgrön.
  • Klicka på OK.

Baserat på radnumret och värdet i den första raden, villkorlig formatering skulle färga texten grön, ljusgrön eller vit.

Välj nu hela cellområdet (A1: AP32) och gör bakgrunden svart.

Som ett sista steg, sätt in en form/knapp och tilldela detta makro till den formen/knappen.

Notera: Eftersom det finns en VBA -kod i den, spara filen med filtillägget .xls eller .xlsm.

Det är allt! Skaffa dig en kopp kaffe, stå i skuggan och njut av Matrix fallande siffror digitalt regn 🙂

wave wave wave wave wave