如何在电子表格中将单元格设为只读?

giz*_*gok 5 excel vba spreadsheet excel-vba

我正在使用数据库值填充电子表格.我填充数据的单元格,我希望它们对用户是只读的.我怎样才能做到这一点?

Jef*_*ffO 5

取决于您希望如何选择范围.这只是一个单元格.如果你回到J1并更改值,你应该得到提示.

Private Sub Worksheet_Change(ByVal Target As Range)
  Range("J1").Select
  Selection.Locked = True
  ActiveSheet.Protect Contents:=True
  Range("K1").Select

End Sub
Run Code Online (Sandbox Code Playgroud)

在工作表受到保护之前,单元格不会被锁定.默认情况下,所有单元格都设置为"已锁定",因此您必须解锁希望用户能够更改的单元格.


Lun*_*tik 5

在这些情况下,我经常发现最好的方法是锁定工作表,但仅限用户使用UserInterfaceOnly仍然允许与工作表无限制编程交互的参数.

ActiveSheet.ProtectUser InterfaceOnly:=True
Run Code Online (Sandbox Code Playgroud)

还有其他各种参数可以设置,仍然允许用户过滤,排序等.如果需要,帮助文件有一个完整的列表.