Excel宏将单元格格式更改为受保护工作表的文本

时间:2015-10-14 12:50:25

标签: excel vba excel-vba

我需要在打开工作表后立即将受保护的工作表单元格格式更改为文本(从日期开始)。我的意思是说该值应该在输入到工作表中时显示。

我将我的代码保存在ThisWorkBook的Workbook_Open()事件中,以及下面给出的步骤序列。

取消保护工作表: gSampleSheet.Unprotect Password:="MyPassword"

更改单元格格式: gSampleSheet.Range("K1:K100").NumberFormat = "Text"

保护工作表: gSampleSheet.Protect DrawingObjects:=False, contents:=True, Scenarios:=True, Password:="MyPassword"

在单元格中输入日期值时,应将其转换为文本格式,并且值应按原样显示。

即。如果输入12/12 / 15,12.12.15,12-12-15,12-Dec-15,则它们应在输入时显示(而不是更改为日期格式)。

然而,单元格显示一些随机值,如T2015tx或其他一些值。请帮助我解决这个问题,因为我正在努力找出根本原因。

1 个答案:

答案 0 :(得分:1)

尝试:

gSampleSheet.Range("K1:K100").NumberFormat = "@"