Matricas krītošo skaitļu efekts programmā Excel, izmantojot VBA

Satura rādītājs

Esmu milzīgs filmu sērijas Matrix fans. Tas ir pārsteidzošs sava laika darbs un viena no manām mīļākajām zinātniskās fantastikas filmu sērijām.

Ja esat redzējis Matrix, nekādā gadījumā jūs neatcerētos krītošo kodu secību.

Es domāju to izveidot programmā Excel, bet kāds mani pārspēja. Tas jau ir izveidots un pieejams šeit.

Nitins Mehta, kurš to izveidoja, šī efekta radīšanai izmantoja pāris Excel funkcijas, nosacījuma formatējumu un ritjoslu.

Esmu to mainījis, lai noņemtu ritjoslu, un tā vietā esmu izmantojis VBA kodu. Tagad jūs varat vienkārši noklikšķināt uz atskaņošanas pogas, un skaitļi sāks krist paši. Kaut kas, kā parādīts zemāk:

Matricas krītošo skaitļu efekts programmā Excel

Tālāk ir norādītas darbības, lai programmā Excel izveidotu matricas krītošo skaitļu efektu:

  • Diapazona A1: AP1 pirmajā rindā ievadiet nejaušus skaitļus no 0 līdz 9. Jūs varat manuāli ievadīt šos skaitļus, lai izmantotu funkciju RANDBETWEEN. Atcerieties šos skaitļus pārvērst vērtībās.
    • Samaziniet kolonnu platumu, lai tas būtu redzams vienā ekrānā.

  • Diapazonā A2: AP32 ievadiet formulu: = INT (RAND ()*10)
  • Kopējiet un ielīmējiet zemāk redzamo kodu VBA modulī
    #Ja VBA7 tad publiski deklarē PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekundes tik ilgi) '64 bitu sistēmām #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)' 32 bitu sistēmām #End If Sub MatrixNumberRain () i = 1 Do while i <= 40 DoEvents Range ("AR1"). Vērtība = ii = i + 1 Sleep 50 Loop End Sub

Šis kods ievadītu skaitli no 1 līdz 4o šūnā AR1. Kods Sleep 50 aizkavētu ciparu ievadīšanu par 50 milisekundēm. Palaižot šo kodu, jūs varētu redzēt, ka AR1 vērtība ir no 1 līdz 40.

Tagad mums ir jānorāda trīs nosacījuma formatēšanas noteikumi, lai šiem skaitļiem piešķirtu krāsu.

Nosacījuma formatēšanas noteikums #1

  • Atlasiet diapazonu A2: AP32, dodieties uz Sākums -> Nosacījuma formatēšana -> Jauns noteikums

  • Dialoglodziņā Jauns formatēšanas noteikums noklikšķiniet uz “Izmantot formulu, lai noteiktu, kuras šūnas formatēt” un ievadiet šādu formulu:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+A $ 1,15)

  • Noklikšķiniet uz pogas Formāts un iestatiet fonta krāsu uz baltu

  • Noklikšķiniet uz Labi

Nosacījuma formatēšanas noteikums #2

  • Izvēloties diapazonu A2: AP32, dodieties uz Sākums -> Nosacītā formatēšana -> Pārvaldīt kārtulu
  • Dialoglodziņā Nosacījuma formatēšanas noteikumu pārvaldnieks noklikšķiniet uz Jauns noteikums
  • Dialoglodziņā Jauns formatēšanas noteikums noklikšķiniet uz “Izmantot formulu, lai noteiktu, kuras šūnas formatēt” un ievadiet šādu formulu:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+A $ 1+1,15)
  • Noklikšķiniet uz formatēšanas pogas un iestatiet fonta krāsu uz gaiši zaļu
  • Noklikšķiniet uz Labi

Nosacījuma formatēšanas noteikums #3

  • Izvēloties diapazonu A2: AP32, dodieties uz Sākums -> Nosacītā formatēšana -> Pārvaldīt kārtulu
  • Dialoglodziņā Nosacījuma formatēšanas noteikumu pārvaldnieks noklikšķiniet uz Jauns noteikums
  • Dialoglodziņā Jauns formatēšanas noteikums noklikšķiniet uz “Izmantot formulu, lai noteiktu, kuras šūnas formatēt” un ievadiet šādu formulu:
    = VAI (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))
  • Noklikšķiniet uz formatēšanas pogas un iestatiet fonta krāsu uz gaiši zaļu.
  • Noklikšķiniet uz Labi.

Pamatojoties uz rindas numuru un vērtību pirmajā rindā, nosacījuma formatējums tekstu iekrāsos zaļā, gaiši zaļā vai baltā krāsā.

Tagad atlasiet visu šūnu diapazonu (A1: AP32) un padariet fonu melnu.

Pēdējā posmā ievietojiet formu/pogu un piešķiriet šai formai/pogai šo makro.

Piezīme: Tā kā tajā ir VBA kods, saglabājiet failu ar paplašinājumu .xls vai .xlsm.

Tieši tā! Tagad iegādājieties kafijas tasi, stāviet ēnā un izbaudiet Matrix krītošo ciparu lietus 🙂

wave wave wave wave wave