从相邻下拉列表的单元格中输入数据时,如何删除填充颜色?
Posted
技术标签:
【中文标题】从相邻下拉列表的单元格中输入数据时,如何删除填充颜色?【英文标题】:How do I remove a fill color when data gets entered in cells from an adjacent drop down list? 【发布时间】:2017-09-05 17:50:16 【问题描述】:我创建了一个宏,它将根据下拉选择填充电子表格中的多个字段,例如:
在 L 列中,我有两个项目的下拉列表,“YES”和“NO”。 When an item is selected, the adjacent two cells will populate with predetermined data, for example:
选择“YES”将用黄色填充相邻的两个单元格
选择“否”将在两个相邻的单元格中填充单词“NULL”
这就是我卡住的地方..
当有人在“YES”的相邻两个单元格中输入数据时,我需要黄色填充消失。
当有人在这些单元格中输入数据时,有没有办法去除黄色填充?
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
Select Case Target
Case "YES"
If Target = "YES" Then
Target.Offset(0, 1).Interior.ColorIndex = 6
Target.Offset(0, 2).Interior.ColorIndex = 6
If Not Target.Cells.Count = 1 Then
Exit Sub
If Intersect(Target, Columns(2)) Is Nothing Then
Exit Sub
End If
End If
End If
Case Else
If Target = "NO" Then
Target.Offset(0, 1) = "NULL"
Target.Offset(0, 2) = "NULL"
If Not Target.Cells.Count = 1 Then
Exit Sub
If Intersect(Target, Columns(2)) Is Nothing Then
Exit Sub
If Intersect(Target, Columns(2)) Is Nothing Then
Exit Sub
End If
End If
End If
End If
End Select
End Sub
【问题讨论】:
【参考方案1】:试试:
If Target = "NO" Then
Target.Offset(0, 1) = "NULL"
Target.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
Target.Offset(0, 2) = "NULL"
Target.Offset(0, 2).Interior.ColorIndex = xlColorIndexNone
【讨论】:
谢谢@Cyril,这正是我所需要的,尽管当我清除一系列值的内容时,会出现运行时错误“13”:出现类型不匹配窗口。有没有办法防止这种情况发生? 我不相信我在遵循你的意思。你是如何清除内容的?我想你有一个不正确的对象,或者对象类型不正确。如果此答案已解决您发布的问题,请标记为已回答。如果您有任何问题,我可以尝试提供帮助,但请考虑是否值得将其作为另一个问题发布(如果我没有答案并且其他人倾向于检查较新发布的项目,则会有所帮助)。 最后一个忘记@NickRivera了。以上是关于从相邻下拉列表的单元格中输入数据时,如何删除填充颜色?的主要内容,如果未能解决你的问题,请参考以下文章