【发布时间】:2019-07-29 09:00:56
【问题描述】:
我正在尝试将两列(year 和 month)转换为日期值代码,并在另一张表中将 begin_date 和 end_date 转换为日期值作为代码。
例如将year = 2017 和month = 4 转换为4/2017,然后转换为42736(这是代表该数据的日期值代码)。
在第一种情况下,由于有两个单独的列,year 和 month,我尝试先将它们转换为日期格式 MMYYYY(因为 datevalue 不会将其转换为代码,否则在 excel表),为此我使用了data = .Cells(iRowNo, 3) & "/" & .Cells(iRowNo, 2)(我进行了测试,它返回了类似于4/2017的预期结果),但后来我尝试使用datav = DateValue(data)将其转换为日期值代码,但结果为完整日期( 2017 年 1 月 4 日)。
在第二种情况下,我尝试将两个日期(begin_date 和 end_date)直接转换为具有类似代码的日期值代码,但它返回了相同的结果(完整日期 dd/mm/yyyy)。
似乎 datevalue 在 vba 中的工作方式与在 excel 公式中的工作方式不同,至少在我的情况下。
【问题讨论】: