Excel日期格式VBA

时间:2018-09-20 07:55:17

标签: excel excel-vba excel-formula

我使用以下代码将单元格的值设置为当前日期

rng.Value = Format(Now(), "dd/mm/yyyy")
rng.NumberFormat = "dd/mm/yyyy"

运行此代码时,日期会插入到单元格中,格式为“日期”,但单元格中的数据将保持对齐。公式不会将值解释为日期。

Cell using code above

当我单击该单元格然后按Enter时,值将向右移动,并且日期现在适用于公式。

enter image description here

如果我手动输入日期,则公式也将起作用。只有当我使用VBA时。

2 个答案:

答案 0 :(得分:4)

不格式化输入,不格式化单元格(您可以只使用params.require(:task).permit( :summary, comments_attributes: [ :id, :content ] ).to_h.deep_merge( user_id: current_user.id, comments_attributes: [ user_id: current_user.id, project_id: project.id ] ) ):

Date

答案 1 :(得分:3)

两句话。 1.实际上,您正在同时插入日期和时间(这是NOW函数返回的内容)。如果只需要日期,请改用VBA日期功能。 2.正如注释中已经提到的ashleedawg一样,Format返回一个字符串。将您的代码更改为:

rng.Value = Date
rng.NumberFormat = "dd/mm/yyyy"