【问题标题】:Bug with dates, set wrong on or the other pair日期错误,设置错误或另一对
【发布时间】:2015-05-29 10:05:49
【问题描述】:

我对 VBa 很陌生,我现在面临一个问题。我有一个多页,有 2 页,每页有一个框架,在每个框架内,我必须为初始日期和最终日期选择日期选择器,命名为 DTPicker1Li、DTPicker2LI、DTPicker3LI 和 DTPicker4LI。它们的形式是 frmInserirImpLI。

获取值

 DInicioILI = frmInserirImpLI.DTPicker1LI.Value
 DFimILI = frmInserirImpLI.DTPicker2LI.Value
 DInicioLImp = frmInserirImpLI.DTPicker3LI.Value
 DFimLImp = frmInserirImpLI.DTPicker4LI.Value

用于在我拥有的 excel 单元格中书写

 Range("H" & linhaAEscreverLI) = DInicioILI
 Range("I" & linhaAEscreverLI) = DFimILI
 Range("O" & linhaAEscreverLI) = DInicioLImp
 Range("P" & linhaAEscreverLI) = DFimLImp

问题是它只传递了 2 个单元格的正确日期。 或者它在 H 和 I 列中写入正确的日期,然后在 O 和 P 列中出现:00-01-1900 或者,如果日期在 O 和 P 列中正确显示,它将出现在 H 和 I 列中: 12:00:00 AM 我做错了什么?

提前致谢

【问题讨论】:

  • 快速提问:此文件是供您个人使用还是您也将其发送给其他人?
  • 如果您将Debug.Print DInicioILI, DFimILI, DInicioLImp, DFimLImp 添加到您的代码中,您会在立即窗口中打印 4 个日期吗?
  • 您的问题解决了吗?如果已修复,请验证答案以将问题标记为已解决!
  • 请验证答案以将您的问题标记为已解决。

标签: vba excel date


【解决方案1】:

设置值后添加格式即可:

Range("H" & linhaAEscreverLI) = DInicioILI
Range("H" & linhaAEscreverLI).NumberFormat = "dd/mm/yy"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2012-02-26
    • 2016-04-20
    • 2018-06-21
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多