【问题标题】:Format userform text data into date and currency format将用户表单文本数据格式化为日期和货币格式
【发布时间】:2019-03-16 20:27:32
【问题描述】:

我创建了一个用户表单来将数据输入到一个大型数据库中。我希望日期(和货币 $xxx.xx)的格式设置为适当的默认值。

我希望日期条目显示为:mm/dd/yyyy

例如,如果用户在用户窗体中输入 3/16,请输入完整日期:3/16/2019进入数据库。

我需要一个变量吗?我试过的东西说,“变量未定义”。

【问题讨论】:

标签: excel vba date format userform


【解决方案1】:

我想出了这个!! :^) 请务必将 Txt 名称更改为您的数据库...

货币:

Private Sub Txt_Estimate_Amt_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) 'Estimate_Amt FORMAT
Me.Txt_Estimate_Amt = Format(Txt_Estimate_Amt, "$#,##0.00")
End Sub

电话:

Private Sub Txt_Client_Phone_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) 'Txt_Client_Phone FORMAT
Me.Txt_Client_Phone = Format(Txt_Client_Phone, "###-###-####")
End Sub

日期:

Private Sub Txt_Invoiced_Date_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) 'Invoice Date FORMAT
Me.Txt_Invoiced_Date = CDate(Me.Txt_Invoiced_Date)
End Sub

今天的日期:

Private Sub Txt_Date_Recvd_Change()
  Txt_Date_Recvd = Format(Now(), "Short Date")
End Sub

【讨论】:

  • 请花几分钟时间弄清楚如何在发布时正确格式化代码。
  • 很好地找到了解决方案!正如您提到的那样,您是新手...,请小心使用on error resume next,因为您告诉您的代码忽略任何错误,虽然这确实有它的地方,但您最好处理您的错误。要了解更多信息,您可以阅读错误处理 here 以及其他 SO 帖子和/或 Google 搜索。
  • 哇!谢谢你塞缪尔!天啊!我没有意识到!!!我只是在“下一个错误恢复”中删除了那条线,它仍然有效!显然,我什至不需要它!感谢您的提示/链接,这曾经并且将会很有帮助!感谢您耐心地意识到我只是一个初学者!我创建的用户表单是我第一次尝试做 VBA!这一切都要感谢像您这样真正愿意提供帮助的人!我还有一些小故障/挑战,但我知道,在像你这样的其他人的支持下,我会完成它! :)
  • 我更正了上面的代码,我认为是正确格式的代码。它在没有添加的行的情况下工作:“on error resume next”
猜你喜欢
  • 2018-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多