【问题标题】:How to fix date in VBA Userform - date is entering into sheet in incorrect format如何在 VBA 用户窗体中修复日期 - 日期以不正确的格式输入工作表
【发布时间】:2019-12-12 14:08:09
【问题描述】:

我正在设置一个用户表单和工作表来跟踪啤酒批次。用户表单中生成的日期格式正确(dd/mm/yyyy),但输入工作表时为 mm/dd/yyy。

已尝试将 SUBMIT 中使用的代码更改为表单:

ActiveCell.Offset(0, 3).Value = Format(Now(), "dd/mm/yyyy")
     ActiveCell.Offset(0, 3).Value = Format(Me.txtBrewDate.Value, "dd/mm/yyyy")

还尝试将更新前的代码放在表单上的txtBrewDate:

Private Sub txtBrewDate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    On Error Resume Next
    Me.txtBrewDate = Format(CDate(Me.txtBrewDate), "dd/mm/yyyy")
End Sub

已经尝试过提交这个:

ActiveCell.Offset(0, 3).Value = Format(Now(), "dd/mm/yyyy")
     ActiveCell.Offset(0, 3).Value = Format(Me.txtBrewDate.Value, "dd/mm/yyyy")

最初看起来日期是作为文本进入工作表的。然后我将 cdate 放入更新前 - 现在看起来像一个日期。但是格式仍然不正确(今天是 8 月 5 日 - 但它是 08/05/2019)

【问题讨论】:

  • 试试ActiveCell.Offset(0, 3).NumberFormat = "dd/mm/yyyy"
  • 无论你怎么搅拌蛋糕糊,它只会变成容器的形状。将容器塑造成你想要的形状,然后放入面糊。按照@Mikku 的建议去做。首先更改单元格的格式,然后将您的“面糊”放入其中。 :)
  • 关于在文本框中接受日期,您可能希望看到THIS,最后是THIS

标签: excel vba


【解决方案1】:

所以首先你需要改变单元格格式。

用途:

ActiveCell.Offset(0, 3).NumberFormat = "dd/mm/yyyy"

之后,您可以将自己的价值投入其中。

 ActiveCell.Offset(0, 3).Value = Format(Me.txtBrewDate.Value, "dd/mm/yyyy")
 'Or
 ActiveCell.Offset(0, 3).Value = Me.txtBrewDate.Value

【讨论】:

    【解决方案2】:

    首先,您需要更改单元格格式。 在 VBA 视图代码中更改日期为月份和月份日期后。

    ActiveCell.Offset(0, 2).Value = Format(Me.txt_Date.Value, "mm/dd/yyyy")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      相关资源
      最近更新 更多