Vba 检查并更改日期类型

Vba 检查并更改日期类型,vba,date,types,format,Vba,Date,Types,Format,我想检查一系列单元格的内容是否格式化为日期,如果是,则将当前日期类型更改为日期类型mm.dd.yyyy。为此,我使用下面的代码,但它似乎不起作用,因为它正在更改范围内所有单元格的内容,而不仅仅是格式为日期的单元格 选项显式 公共子格式货币() 将Sh设置为工作表 Set Sh=ThisWorkbook.Sheets(1) 暗淡单元格作为范围 对于Sh.Range(“R1:W300”)单元格中的每个单元格 如果Cell.NumberFormat=“Date”,则 Cell.NumberFormat

我想检查一系列单元格的内容是否格式化为日期,如果是,则将当前日期类型更改为日期类型
mm.dd.yyyy
。为此,我使用下面的代码,但它似乎不起作用,因为它正在更改范围内所有单元格的内容,而不仅仅是格式为日期的单元格

选项显式
公共子格式货币()
将Sh设置为工作表
Set Sh=ThisWorkbook.Sheets(1)
暗淡单元格作为范围
对于Sh.Range(“R1:W300”)单元格中的每个单元格
如果Cell.NumberFormat=“Date”,则
Cell.NumberFormat=“dd.mm.yyyy”
如果结束
下一个细胞
端接头

嗯,
.NumberFormat=“Date”
不存在,因为您已经知道有数百种不同的日期格式,所以没有通用的
日期格式。您需要检查单元格的实际数字格式。因此,选择其中一个“日期”单元格并运行
Debug.Print Selection.NumberFormat
。结果显示在即时窗口中,必须使用该窗口而不是
。NumberFormat=“Date”
窗口。这很好。Thanx mate。