Excel单元格字体的颜色随机变化

2025-09-29 04:19:42

1、打开Excel表格,在工作表标签“Sheet1”上面单击右键,选择“查看代码”打开Sheet1的VBA代码窗口。

Excel单元格字体的颜色随机变化

2、在代码窗口里边输入以下代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim mycells

On Error Resume Next  '忽略运行过程中可能出现的错误

Application.ScreenUpdating = False  '关闭工作表更新,提高运行速度

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")  '定义工作表

For Each mycells In mysheet1.Range("A2:E100")  '对A2:E100里面的每一个单元格循环

mycells.Font.ColorIndex = Int(Rnd * 56 + 1)  '改变字体颜色

'ColorIndex的颜色范围是1-56

'Int为取整函数,Rnd为大于等于0且小于1的随机数

Next

Application.ScreenUpdating = True  '恢复工作表更新

End Sub

Excel单元格字体的颜色随机变化

3、回到工作表界面,单元格变更选择时,单元格里边的字体颜色将会随机改变。

Excel单元格字体的颜色随机变化

4、在程序里边,使用“For Each……In……Next”循环程序来对指定范围里边的每一个单元格进行字体颜色改变,亦可以使得程序变得简洁。当然,也可以改成以下程序,结果是一样的。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim i, j As Integer  '定义i,j的数据类型为整数

On Error Resume Next  '忽略运行过程中可能出现的错误

Application.ScreenUpdating = False  '关闭工作表更新,提高运行速度

On Error Resume Next  '忽略运行过程中可能出现的错误

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")  '定义工作表

For i = 2 To 100  '从第二行到100行

   For j = 1 To 4 '从第1列到第四列,每执行一行将会执行四列

   

    mysheet1.Cells(i, j).Font.ColorIndex = Int(Rnd * 56 + 1) '改变字体颜色

'ColorIndex的颜色范围是1-56

'Int为取整函数,Rnd为大于等于0且小于1的随机数

   Next

Next

Application.ScreenUpdating = True  '恢复工作表更新

End Sub

Excel单元格字体的颜色随机变化

5、ColorIndex是默认调色板上面的颜色编号,颜色的编号是从1到56之间。

Excel单元格字体的颜色随机变化

6、如果不想在选择单元格时变更其颜色,可以把“Private Sub Worksheet_SelectionChange(ByVal Target As Range)”改成“Sub ABC()”,以后就需要手动运行程序。

Excel单元格字体的颜色随机变化

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢