我添加了 VBA 代码,双击时将时间或日期插入单元格。我设法让事情进展顺利。
我正在努力解决的问题是在输入时间/日期后保护和锁定单元格。
我已经到了这样的地步:当我双击/尝试编辑非空单元格时,我收到运行时错误。调试后,让我失望的行是"Target.Formula = Format(Now, "ttttt")"
.
我也无法抛出错误消息。
我已经很接近了!
任何建议将不胜感激!
My code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C:E")) Is Nothing Then
Cancel = True
Target.Formula = Format(Now, "ttttt")
End If
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Cancel = True
Target.Formula = Format(Now, "dd/mm/yyyy")
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Dim xRg As Range
Set xRg = Intersect(Range("A:A,C:E"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = True
Target.Worksheet.Protect Password:="123"
Exit Sub
ErrorHandler:
MsgBox "Cell already filled"
Resume Next
End Sub
保护您的工作表 https://msdn.microsoft.com/en-us/library/office/ff840611.aspx一旦使用 UserInterfaceOnly:=True 参数,您就不必取消保护/保护来使用 VBA 更改单元格内容。
sub protectOnce()
worksheets("sheet1").unprotect password:="123"
worksheets("sheet1").protect password:="123", UserInterfaceOnly:=True
end sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)