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

我有一个要求打开工作表一旦更改受保护的工作表单元格格式为文本(从date)。 我的意思是说价值应该出现在表单中。

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

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

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

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

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

即如果input12/12/15,12.12.15,12-12-15,12-Dec-15,那么它们应该在input时出现(而不是改变成date格式)。

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

尝试:

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