我在列中有10个单元格,它们是%错误值。如果任何值小于-0.1或大于0.1,并且如果某个下拉框被选为"否",那么我需要一个相邻的列被解锁并且能够被编辑。我所做的是命名整个单元格列(Perc_Error1),并使用它来引用...我认为这就是问题所在,excel不是读取每个单元格值而是整个名称值而它可能不知道它是什么..
我想迭代每个%error单元格值,但我也需要读取下拉值...这似乎并没有使用我的代码
这就是我所拥有的:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Variant
ActiveSheet.Unprotect Password:=TRPassword
If Range("Annual_Verif").value = "Yes" Then
Range("Ref_Test_Point").Locked = False
Range("EGM_Target_Reading").Locked = True
Range("EGM_Reading").Locked = False
Range("Perc_Error2").Locked = True
End If
If (Range("Annual_Verif").value = "No") Then Resume Next
For Each i In Range("Perc_Error1").Cells
If (Abs(i.value) > (0.1)) Then
Range("Ref_Test_Point").Locked = False
Range("EGM_Target_Reading").Locked = True
Range("EGM_Reading").Locked = False
Range("Perc_Error2").Locked = True
End If
Next
ActiveSheet.Protect Password:=TRPassword
End Sub
感谢任何帮助...
答案 0 :(得分:0)
问题来自于
的混合如果任何值小于0.1或大于-0.1
如果你的意思是你的状况,你的
If (Abs(i.value) > (0.1)) Then
应该是
If (Abs(i.value) < (0.1)) Then
如果你的意思是“大于”意味着更大的绝对数字,那么你的if语句应该是
If i.value < 0.1 And i.value < -.1 Then