我正在使用跟踪器来测试新的更改以及何时测试。如果新更改不适用,我不想删除它,我想禁用(并变灰)所有可用于选择完成日期的单元格。但仅限于该行。我尝试过使用以下方法,但没有任何运气:
- 工作表上的条件格式
- 进行更改时执行的 VBA 代码
- 数据验证(认为这是可能的,但我不熟悉它的实际工作原理)
这是我的代码:
Private Sub worksheet_change(ByVal Target As Range)
Dim keycells As Range
Set keycells = Range("G:G")
lastcol = CInt(Sheet1.Cells(1,Sheet1.Columns.Count).End(xlToLeft).Column)
If Not Application.Intersect(keycells, Range(Target.Address)) Is Nothing Then
r = Range(Target.Address).Row
MsgBox "There was a change"
If Range(Target.Address).Value = "N/A" Then
MsgBox "we got this far"
Range("H" & r & ":" & Cells(r, lastcol).Address).Locked = True
End If
End If
End Sub
两个消息框都会显示,但单元格不会锁定。所以我尝试解锁所有单元格,然后保护纸张。然后我将某些内容设置为“N/A”并收到错误“无法设置范围类的锁定属性”。
Here is an idea of what my data looks like:
提前致谢!
Well, 社区 https://stackoverflow.com/users/-1/community一直坚持(几天来)我看看这个问题,无情地将它推到我的“相关”队列的顶部,可能是因为它被标记为前 4 个标签,and从技术上讲它没有答案。
非常抱歉Moacir https://stackoverflow.com/users/7086396/moacir,我刷一下你的“评论答案”:
让它受到保护,
do Worksheet.Unprotect
,
运行你的代码(并且Worksheet.Protect
) 在那之后。
更多信息:
微软:工作表.保护方法 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel (Excel)
微软:工作表.取消保护方法 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-unprotect-method-excel (Excel)
S.O. : 如何保护 Excel 中的单元格但允许通过 VBA 脚本修改它们 https://stackoverflow.com/questions/125449/how-to-protect-cells-in-excel-but-allow-these-to-be-modified-by-vba-script
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)