Ефект на падащите числа на матрицата в Excel с помощта на VBA

Съдържание

Голям фен съм на поредицата филми Matrix. Това е невероятно произведение на времето си и един от любимите ми поредици от научнофантастични филми.

Ако сте виждали Matrix, няма начин да не си спомните падащата кодова последователност.

Мислех да създам това в Excel, но някой ме победи. Той вече е създаден и е достъпен тук.

Нитин Мехта, който създаде това, използва няколко функции на Excel, условно форматиране и лента за превъртане, за да създаде този ефект.

Промених го, за да премахна лентата за превъртане и вместо това използвах код VBA. Сега можете просто да кликнете върху бутона за възпроизвеждане и числата ще започнат да падат от само себе си. Нещо, както е показано по -долу:

Ефект на падащите числа на матрицата в Excel

Ето стъпките за създаване на ефект на падащите числа на матрицата в Excel:

  • В първия ред в диапазона A1: AP1 въведете произволни числа между 0 до 9. Можете да въведете ръчно тези числа, като използвате функцията RANDBETWEEN. Не забравяйте да преобразувате тези числа в стойности.
    • Намалете ширината на колоната, така че да се вижда на един екран.

  • В диапазона A2: AP32 въведете формулата: = INT (RAND ()*10)
  • Копирайте и поставете кода по -долу в модул във VBA
    #Ако VBA7 След това публично обявете PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'За 64 битови системи #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)' За 32 битови системи #End If Sub MatrixNumberRain () i = 1 Do While i <= 40 DoEvents Range ("AR1"). Стойност = ii = i + 1 Sleep 50 Loop End Sub

Този код по -горе ще въведе числото от 1 до 4o в клетка AR1. Кодът Sleep 50 ще забави въвеждането на числа с 50 милисекунди. Ако стартирате този код, ще можете да видите стойността в AR1 от 1 до 40.

Сега трябва да посочим три правила за условно форматиране, за да придадем цвят на тези числа.

Правило за условно форматиране #1

  • Изберете диапазона A2: AP32, отидете на Начало -> Условно форматиране -> Ново правило

  • В диалоговия прозорец Ново правило за форматиране щракнете върху „Използвайте формула, за да определите кои клетки да форматирате“ и въведете следната формула:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+A $ 1,15)

  • Кликнете върху бутона за форматиране и задайте цвета на шрифта на бял

  • Щракнете върху OK

Правило за условно форматиране #2

  • С избрания диапазон A2: AP32 отидете на Начало -> Условно форматиране -> Управление на правило
  • В диалоговия прозорец Мениджър на правила за условно форматиране щракнете върху Ново правило
  • В диалоговия прозорец Ново правило за форматиране щракнете върху „Използвайте формула, за да определите кои клетки да форматирате“ и въведете следната формула:
    = MOD ($ AR $ 1,15) = MOD (ROW ()+A $ 1+1,15)
  • Щракнете върху бутона за форматиране и задайте цвета на шрифта на светло зелен
  • Щракнете върху OK

Правило за условно форматиране #3

  • С избрания диапазон A2: AP32 отидете на Начало -> Условно форматиране -> Управление на правило
  • В диалоговия прозорец Мениджър на правила за условно форматиране щракнете върху Ново правило
  • В диалоговия прозорец Ново правило за форматиране щракнете върху „Използвайте формула, за да определите кои клетки да форматирате“ и въведете следната формула:
    = ИЛИ (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))
  • Кликнете върху бутона за форматиране и задайте цвета на шрифта на светло зелен.
  • Щракнете върху OK.

Въз основа на номера и стойността на реда в първия ред, условното форматиране би оцветило текста в зелено, светло зелено или бяло.

Сега изберете целия диапазон от клетки (A1: AP32) и направете фона черен.

Като последна стъпка вмъкнете форма/бутон и задайте този макрос на тази форма/бутон.

Забележка: Тъй като това има код VBA в него, запишете файла с разширение .xls или .xlsm.

Това е! Сега си вземете чаша кафе, застанете на сянка и се насладете на цифровия дъжд от падащите числа на Matrix 🙂

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave