【发布时间】:2016-11-25 18:09:00
【问题描述】:
是否是具有超过 2 个“IF”语句的 Lock 单元格。
示例:我想检查每一行 ("L12:L48") 是否存在 1100000 ~ 1149999 之间的值,然后使用MsgBox 。如果值大于 1150000 则使用 MsgBox 并锁定其他单元格 ("E12:E28")。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
i = 12
Do
If Cells(i, 12).Value >= 1100000 And Cells(i, 12).Value <= 1149999 Then
MsgBox "Caution : Cutter Meter Nearly Exceed Limit"
ElseIf Cells(i, 12).Value >= 1150000 Then
MsgBox "Please Change Cutter"
ElseIf Cells(i, 12).Value >= 1150000 Then
ActiveSheet.Unprotect
Range("E12:E48").Locked = True
ActiveSheet.Protect
End If
i = i + 1
Loop Until i = 48
End Sub
我已经运行了这段代码,但 MsgBox 一直出现,直到到达最后一个检查行(因为我在检查行上使用累积计算)并且单元格锁定不起作用。请打开下面的图片链接查看excel。
这可以使用 VBA 实现吗?如果可以,如何实现?
非常感谢。
【问题讨论】:
-
你为什么不把2个条件合并成1个条件?