我已经尝试了我能找到的所有解决方案,但都没有用。
我有一列日期,想修改格式并转换为文本。我这样做是因为我有不同日期的日期,但只需要找到独特的月年组合。当我格式化日期以显示“mmm-yy”然后尝试获取唯一值时,它仍然会看到日期值并提供比我需要的更多的唯一值。
为了解决这个问题,我试图删除日期的“值”并转换为一个字符串,然后我可以删除日期。
我尝试转换的日期在工作表中显示为 31-DEC-22(例如)并且都显示警告“此单元格包含一个日期字符串,该字符串仅用年份的两位数字表示。”我不关心年份数字,但不确定这个警告是否是问题的一部分。
我尝试转换为字符串(没有成功):
dateValue = CStr(dateValue)
Column.NumberFormat = "General"
str = Application.WorksheetFunction.Text(dateValue, "MMM-YY")
Dim str As String = Format(dateValue, "MMM-YY")
当我将结果值添加到单元格时,使用上述所有内容,它显示格式正确,但在查看值时仍然显示完整日期和日期并显示为自定义格式。
对我做错了什么有什么想法吗?
仅供参考,我让它工作的唯一方法是为每个值添加一个单引号。
谢谢。
_t
Excel 会将任何包含有效日期的字符串转换为日期,除非通过添加单引号明确告诉 excel 这不是日期
mySheet.Cells(1,1).Value = "'" & str
或者在赋值之前将格式更改为文本
mySheet.Cells(1,1).NumberFormat = "@"
mySheet.Cells(1,1).Value = str