[英]Changing the value of a cell when all cells in a range equal the same value
我试图创建一个宏,以仅当范围中的所有单元格都具有特定值时才更改单个单元格的值。 我环顾四周,似乎只能使用基于变体的工作表更改宏来执行此操作。 基于此,我整理了以下内容:
Sub Worksheet_Change()
Dim VarItemName As Variant
VarItemName = Range("Other_Checks!G85:G87")
Dim Value As String
Application.EnableEvents = False
If Range("Other_Checks!G85, Other_Checks!G86, Other_Checks!G87").Value = "N/A" Then
Range("Other_Checks!G88").Value = "N/A"
Else
Range("Other_Checks!G88").Value = "Pending"
Application.EnableEvents = True
End If
End Sub
问题在于,只有范围(G85)中的第一个单元格发生更改(无论其他2个单元格的值如何),它才似乎起作用。 我究竟做错了什么?
使用Worksheet_Change
事件对我Worksheet_Change
。
您需要替换范围引用。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VarItemName As Range, cl As Range
If Not Intersect(Target, Range("A1:C1")) Is Nothing Then
If Range("A1") = "n/a" And Range("B1") = "n/a" And Range("C1") = "n/a" Then
Range("A2") = "n/a"
Else
Range("A2") = "Pending"
End If
End If
End Sub
顺便说一句,可以使用电子表格上的IF
公式轻松完成此操作。 也许可以考虑选择?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.