Vplyv matice na padajúce čísla v programe Excel pomocou VBA

Obsah

Som veľkým fanúšikom filmovej série Matrix. Je to úžasné dielo svojej doby a patrí medzi moje obľúbené sci -fi filmové série.

Ak ste videli Matrix, neexistuje spôsob, akým by ste si nepamätali klesajúcu sekvenciu kódu.

Myslel som, že to vytvorím v Exceli, ale niekto ma porazil. Už bol vytvorený a je k dispozícii tu.

Nitin Mehta, ktorý to vytvoril, použil na vytvorenie tohto efektu niekoľko funkcií programu Excel, podmienené formátovanie a posúvač.

Upravil som ho, aby som odstránil posúvač, a namiesto toho som použil kód VBA. Teraz stačí kliknúť na tlačidlo prehrávania a čísla by začali samy padať. Niečo, ako je uvedené nižšie:

Vplyv matice na padajúce čísla v programe Excel

Tu sú kroky na vytvorenie efektu klesajúcich čísel matice v programe Excel:

  • Do prvého riadka v rozsahu A1: AP1 zadajte náhodné čísla od 0 do 9. Tieto čísla môžete zadať buď ručne, pomocou funkcie RANDBETWEEN. Nezabudnite tieto čísla previesť na hodnoty.
    • Zmenšite šírku stĺpca, aby bol viditeľný na jednej obrazovke.

  • V rozsahu A2: AP32 zadajte vzorec: = INT (RAND ()*10)
  • Skopírujte a prilepte nižšie uvedený kód do modulu vo VBA
    #If VBA7 Then Public Declare 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 urobiť, kým i <= rozsah 40 doEvents ("AR1"). Hodnota = ii = i + 1 spánok 50 koncových slučiek

Tento vyššie uvedený kód by zadal číslo od 1 do 4o v bunke AR1. Kód Sleep 50 by oneskoril zadávanie čísel o 50 milisekúnd. Ak spustíte tento kód, uvidíte, že hodnota v AR1 sa pohybuje od 1 do 40.

Teraz musíme zadať tri pravidlá podmieneného formátovania, ktoré týmto číslam dodajú farbu.

Pravidlo č. 1 podmieneného formátovania

  • Vyberte rozsah A2: AP32, prejdite na položku Domov -> Podmienené formátovanie -> Nové pravidlo

  • V dialógovom okne Nové pravidlo formátovania kliknite na „Pomocou vzorca určiť, ktoré bunky sa majú formátovať“ a zadajte nasledujúci vzorec:
    = MOD (1,15 $ v AR) = MOD (ROW ()+1,15 A $)

  • Kliknite na tlačidlo formátovania a nastavte farbu písma na bielu

  • Kliknite na tlačidlo OK

Pravidlo č. 2 podmieneného formátovania

  • Keď je vybratý rozsah A2: AP32, prejdite na položku Domov -> Podmienené formátovanie -> Spravovať pravidlo
  • V dialógovom okne Správca pravidiel podmieneného formátovania kliknite na položku Nové pravidlo
  • V dialógovom okne Nové pravidlo formátovania kliknite na „Použiť vzorec na určenie buniek, ktoré sa majú formátovať“, a zadajte nasledujúci vzorec:
    = MOD ($ 1,15 $) = MOD (ROW ()+A $ 1+1,15)
  • Kliknite na tlačidlo formátovania a nastavte farbu písma na svetlo zelenú
  • Kliknite na tlačidlo OK

Pravidlo č. 3 podmieneného formátovania

  • Keď je vybratý rozsah A2: AP32, prejdite na položku Domov -> Podmienené formátovanie -> Spravovať pravidlo
  • V dialógovom okne Správca pravidiel podmieneného formátovania kliknite na položku Nové pravidlo
  • V dialógovom okne Nové pravidlo formátovania kliknite na „Použiť vzorec na určenie buniek, ktoré sa majú formátovať“, a zadajte nasledujúci vzorec:
    = ALEBO (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))
  • Kliknite na tlačidlo formátovania a nastavte farbu písma na svetlo zelenú.
  • Kliknite na tlačidlo OK.

Na základe čísla a hodnoty riadka v prvom riadku by podmienené formátovanie zafarbilo text na zeleno, svetlo zeleno alebo na bielo.

Teraz vyberte celý rozsah buniek (A1: AP32) a urobte pozadie čierne.

Ako posledný krok vložte tvar/tlačidlo a priraďte k tomuto tvaru/tlačidlu toto makro.

Poznámka: Pretože obsahuje kód VBA, uložte súbor s príponou .xls alebo .xlsm.

To je všetko! Teraz si dajte šálku kávy, postavte sa do tieňa a vychutnajte si digitálny dážď padajúcich čísel Matrix 🙂

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave