Excel VBA 闪灯特效
- 2026-11-09 23:50:26
Excel VBA 闪灯特效刷视频时经常刷到Excel 闪灯特效的各类教程,仔细研究后其实并不难,想着如何用VBA代码一键生成,纯属好玩~
已关注
关注
重播 分享 赞
核心思路:
VBA 代码完成在第一行和第四行输入公式"=RANDBETWEEN(1, 10)";
VBA 代码完成在第二行和第五行输入公式"=REPT("□",10-A1)&REPT("█",A1)",需要注意的是:"█" 在代码不识别只能用文本的方式输入"ChrW(&H2588)";
解决第二行和第五行显示时的对齐方式以及自动调整行和列宽;
最后是解决手动一直按"F9"刷新问题,主要是用循环来替代刷新问题;
最后给代码设置快捷键,好玩炫酷的闪灯特效基本完成了。
代码分享:
' 声明Sleep函数(兼容所有Excel版本)#If VBA7 ThenDeclare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)#ElseDeclare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)#End IfSub 闪灯特效()Dim wb As WorkbookDim sht As WorksheetDim i As IntegerDim kx As String, sx As StringDim dt As RangeDim cell As RangeDim rat As Range, sd1 As Range, sd2 As Rangekx = "□"sx = ChrW(&H2588)Set wb = ThisWorkbookSet sht = wb.Sheets(1)With sht.Activate.Columns("A:BG").ColumnWidth = 2.Rows("2,5").EntireRow.AutoFit.Rows("3").EntireRow.Hidden = True.Cells.Interior.ThemeColor = xlThemeColorLight1Set rat = .Range("A1:BG1,A4:BG4")Set sd1 = .Range("A2:BG2")Set sd2 = .Range("A5:BG5")Set dt = .Range("A2:BG2,A5:BG5")rat.Formula = "=RANDBETWEEN(1, 10)"sd1.Formula = "=REPT(""" & kx & """,10-A1)&REPT(""" & sx & """,A1)"sd2.Formula = "=REPT(""" & kx & """,10-A4)&REPT(""" & sx & """,A4)".CalculateDoEventsdt.Orientation = xlVerticalFor Each cell In dtcell.Font.Color = RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255)Next cellApplication.ScreenUpdating = TrueFor i = 1 To 500.CalculateDoEventsSleep 30Next iEnd WithSet wb = NothingSet sht = NothingSet dt = NothingSet rat = NothingSet sd1 = NothingSet sd2 = NothingEnd Sub
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。