Efekt spadających liczb macierzy w programie Excel przy użyciu VBA

Spisie treści

Jestem wielkim fanem serii filmów Matrix. To niesamowite dzieło swoich czasów i jedna z moich ulubionych serii filmów science fiction.

Jeśli widziałeś Matrix, nie ma mowy, abyś nie pamiętał spadającej sekwencji kodu.

Myślałem o stworzeniu tego w Excelu, ale ktoś mnie przebił. Został już utworzony i jest dostępny tutaj.

Nitin Mehta, który to stworzył, użył kilku funkcji Excela, formatowania warunkowego i paska przewijania, aby stworzyć ten efekt.

Zmodyfikowałem go, aby usunąć pasek przewijania i zamiast tego użyłem kodu VBA. Teraz wystarczy kliknąć przycisk odtwarzania, a liczby same zaczną spadać. Coś, jak pokazano poniżej:

Efekt spadających liczb macierzy w programie Excel

Oto kroki, aby stworzyć efekt spadających liczb macierzy w programie Excel:

  • W pierwszym wierszu z zakresu A1:AP1 wprowadź losowe liczby od 0 do 9. Możesz albo ręcznie wprowadzić te liczby, używając funkcji RANDBETWEEN. Pamiętaj, aby przekonwertować te liczby na wartości.
    • Zmniejsz szerokość kolumny, aby była widoczna na jednym ekranie.

  • W zakresie A2:AP32 wprowadź formułę: =INT(RAND()*10)
  • Skopiuj i wklej poniższy kod w module w VBA
    #If VBA7 Then Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Dla systemów 64-bitowych #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'Dla systemów 32-bitowych #End If Sub MatrixNumberRain () i = 1 Do While i <= 40 DoEvents Range("AR1").Value = ii = i + 1 Sleep 50 Loop End Sub

Ten powyższy kod wprowadziłby liczbę od 1 do 4o w komórce AR1. Kod Sleep 50 opóźniłby wprowadzanie liczb o 50 milisekund. Jeśli uruchomisz ten kod, zobaczysz, że wartość w AR1 zmienia się od 1 do 40.

Teraz musimy określić trzy warunkowe reguły formatowania, aby nadać kolor tym liczbom.

Warunkowa reguła formatowania nr 1

  • Wybierz zakres A2:AP32, przejdź do Strona główna -> Formatowanie warunkowe -> Nowa reguła

  • W oknie dialogowym Nowa reguła formatowania kliknij „Użyj formuły, aby określić, które komórki należy sformatować” i wprowadź następującą formułę:
    =MOD($AR $1,15)=MOD(ROW()+A $1,15)

  • Kliknij przycisk formatu i ustaw kolor czcionki na biały

  • Kliknij OK

Warunkowa reguła formatowania nr 2

  • Po wybraniu zakresu A2:AP32 przejdź do Home -> Formatowanie warunkowe -> Zarządzaj regułą
  • W oknie dialogowym Menedżer reguł formatowania warunkowego kliknij Nowa reguła
  • W oknie dialogowym Nowa reguła formatowania kliknij „Użyj formuły, aby określić, które komórki należy sformatować” i wprowadź następującą formułę:
    =MOD($AR$1,15)=MOD(WIERSZ()+A$1+1,15)
  • Kliknij przycisk formatu i ustaw kolor czcionki na jasnozielony
  • Kliknij OK

Reguła formatowania warunkowego nr 3

  • Po wybraniu zakresu A2:AP32 przejdź do Home -> Formatowanie warunkowe -> Zarządzaj regułą
  • W oknie dialogowym Menedżer reguł formatowania warunkowego kliknij Nowa reguła
  • W oknie dialogowym Nowa reguła formatowania kliknij „Użyj formuły, aby określić, które komórki należy sformatować” i wprowadź następującą formułę:
    =LUB(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))
  • Kliknij przycisk formatu i ustaw kolor czcionki na jasnozielony.
  • Kliknij OK.

W oparciu o numer wiersza i wartość w pierwszym wierszu formatowanie warunkowe zmieni kolor tekstu na zielony, jasnozielony lub biały.

Teraz zaznacz cały zakres komórek (A1:AP32) i ustaw czarne tło.

Na koniec wstaw kształt/przycisk i przypisz to makro do tego kształtu/przycisku.

Notatka: Ponieważ zawiera kod VBA, zapisz plik z rozszerzeniem .xls lub .xlsm.

Otóż ​​to! Teraz zrób sobie filiżankę kawy, stań w cieniu i ciesz się cyfrowym deszczem opadających liczb Matrix 🙂

wave wave wave wave wave