【发布时间】:2015-04-05 00:04:58
【问题描述】:
我需要锁定(使其为只读)我的 VBA 宏中的某些特定单元格。我这样做的方式如下:
Range(Cells(begin_row, begin_column), Cells(final_row, final_column)).Select
If Selection.Locked = True Then
Selection.Locked = False
End If
ActiveSheet.Protect Contents:=True
它有效,但是我有两个问题:
看起来,虽然范围(begin_row、final_row)中的行被正确锁定,但该行范围内的列不仅被锁定在范围(begin_column、final_column)中,而且被锁定在其他任何地方。这是奇怪且不受欢迎的,因为用户可能希望将一些数据或评论放在冻结列的右侧。
列标题可能很长,用户可能想要扩展列,但他不能这样做,因为它已被锁定。所以,我想知道:是否可以只锁定单元格的内容,而让单元格本身可扩展?或者,如果这不可能,如何在VBA或C#中设置单元格宽度(数据实际上是从C#代码中输出的)?
谢谢
【问题讨论】: