gpt4 book ai didi

excel - 为什么我的代码不允许我有没有填充的空单元格

转载 作者:行者123 更新时间:2023-12-04 22:13:43 25 4
gpt4 key购买 nike

我有以下代码 -

Private Sub Worksheet_Change(ByVal Target As Range)
Set WF = Application.WorksheetFunction
If Target.Cells.Count = 1 Then
If Target.Column = 6 Then
'choose new color
Target.Interior.Color = RGB( _
WF.RandBetween(0, 255), _
WF.RandBetween(0, 255), _
WF.RandBetween(0, 255))
End If
End If
End Sub
目前,只要将更改应用于单元格(在所述列中),它就会在特定列中应用随机颜色。但是,我希望它只在单元格中有文本时分配颜色。如果文本被删除,则单元格内容应返回无填充状态。我一直在尝试使用 target.interior.color = xlnone 来完成此操作,但是当我应用新条件时,事件处理程序停止工作。
有没有另一种方法来处理这个或我可以使用的更好的代码?
此外,可能值得调整随机颜色范围以避免黑/白的可能性

最佳答案

如果要从单元格中删除填充,则可以使用 ColorIndex = xlNone

Private Sub Worksheet_Change(ByVal Target As Range)
Dim WF, rng As Range
Set WF = Application.WorksheetFunction
If Target.Cells.Count = 1 Then
If Target.Column = 6 Then
Set rng = Target.Resize(1, 5) '<<<< 5 cells wide
If Len(Target.Value) > 0 Then
rng.Interior.Color = RGB( _
WF.RandBetween(20, 230), _
WF.RandBetween(20, 230), _
WF.RandBetween(20, 230))
Else
rng.Interior.ColorIndex = xlNone 'clear any color
End If
End If
End If
End Sub
WF.RandBetween(20, 230)将防止白色/黑色填充

关于excel - 为什么我的代码不允许我有没有填充的空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71311651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com