excel中vba锁定和解锁

问题:当A3到A63这些单元格中有数值=“正确”的单元格,则自动锁定这个单元格前面一个单元格。比如:如果是A8=“正确",则B8就锁定。其他单元格也是这样。帮忙看看怎么不... 问题:当A3到A63这些单元格中有数值=“正确”的单元格,则自动锁定这个单元格前面一个单元格。比如:如果是A8=“正确",则B8就锁定。其他单元格也是这样。
帮忙看看怎么不行啊?(我是菜鸟)
ActiveSheet.Unprotect
for i=3 to 63
if range("A" & i)="正确" then
range("B" & i).locked=true
Else
Range("B" & i).Locked = False
next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
展开
 我来答
太极健1969
2011-11-25 · TA获得超过9034个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3660万
展开全部
你少了一句end if
ActiveSheet.Unprotect
Cells.Locked = False '先把所有单元格设置为不锁定的
For i = 3 To 63
If Cells(i, 1) = "正确" Then Cells(i, 2).Locked = True
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

也可以改成以下代码
ActiveSheet.Unprotect
Cells.Locked = False '先把所有单元格设置为不锁定的
For i = 3 To 63
If Cells(i, 1) = "正确" Then Cells(i, 2).Locked = True
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aniugfy
2011-11-24 · TA获得超过207个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:126万
展开全部
……撤消工作表保护……
for i=3 to 63
if range("A" & i)="正确" then range("B" & i).locked=true
next
……保护工作表……

没写的自己补咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jidong2107
2011-11-24 · TA获得超过867个赞
知道小有建树答主
回答量:724
采纳率:75%
帮助的人:213万
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Cells(ActiveCell.Row, ActiveCell.Column - 1).Value = "确定" Then
Cells(ActiveCell.Row, ActiveCell.Column - 1).Select
end if
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
plane057
2011-11-24 · 超过24用户采纳过TA的回答
知道答主
回答量:284
采纳率:0%
帮助的人:204万
展开全部
VBA中如何根据两个单元格的输入情况来确定第三个单元格的显示内容?比如我在Private Sub ComboBox1_Change() If ComboBox1.Text = "太阳" And Combo
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式