excel如何设置一个公式判断单元格内的字符长度并变色?

2025-03-10 14:17:56
推荐回答(1个)
回答1:

如图,在工作表按Alt+F11,VBA窗口对应Sheet右边空白输入以下代码

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

For Each Rng In [A1:D2]

If Rng.Address = Target.Address Then Rng.Interior.ColorIndex = 3

If WorksheetFunction.IsText(Rng.Value) Then Rng.Interior.ColorIndex = xlNone

If Rng.Value > 0 Then Rng.Interior.ColorIndex = xlNone

Next

Application.EnableEvents = True

End Sub

'两个事件一起触发效果更好

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.EnableEvents = False

For Each Rng In [A1:D2]

If Rng.Address = Target.Address Then Rng.Interior.ColorIndex = 3

If WorksheetFunction.IsText(Rng.Value) Then Rng.Interior.ColorIndex = xlNone

If Rng.Value > 0 Then Rng.Interior.ColorIndex = xlNone

Next

Application.EnableEvents = True

End Sub

-----------------------------------------------------------

深绿=51,深青=49,深蓝=11,靛蓝=55,
灰色80=56,深红=9,橙色=46,深黄=12,
绿色=10,青色=14,蓝色=5,蓝灰=47,
灰色50=16,红色=3,浅橙色=45,酸橙色=43,
海绿=50,水绿色=42,浅蓝=41,紫罗兰=13,
灰色40=48,粉红=7,金色=44,黄色=6,
鲜绿=4,青绿=8,天蓝=33,梅红=54,
灰色25=15,玫瑰红=38,茶色=40,浅黄=36,
浅绿=35,浅青绿=34,淡蓝=37,淡紫=39,白色=2