【问题标题】:Date in Textbox shows as text in Cell Range文本框中的日期在单元格区域中显示为文本
【发布时间】:2019-01-07 15:02:07
【问题描述】:

我设置了一个用于输入数据的用户表单,其中一个文本框被编码为仅接受格式为“dd/mm/yyyy”的日期。当提交并在 excel 上输入数据库时​​,日期以“mm/dd/yyyy”格式输入,或者如果条目不能在“mm/dd/yyyy”格式下工作,则以文本形式输入。

我目前只使用一段简单的代码来输入这些信息:

Sheet4.Range("M5") = TextBox2
Sheet4.Range("M5").Select
ActiveCell.FormulaR1C1 = Sheet4.Range("M5").Value
Sheet4.Range("M3").Select

我不确定在将日期格式输入到 Excel 时交换日期格式时缺少什么。当我通过双击单元格并按 Enter 刷新单元格时,它会更新,这是我尝试对第 2-4 行执行的操作,但我似乎无法让它正常工作和显示。

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 确保ActiveCell 的格式是您想要的dd/mm/yyyy。格式只是视觉上的东西,但价值保持不变。您的文本框控件的格式可能为dd/mm/yyyy,但如果ActiveCell 的格式不同,您将看到该格式的数据。但是这两种情况下的值都是一样的。

标签: excel vba date textbox userform


【解决方案1】:

问题是您在 TextBox 中输入的任何内容都是字符串,因此当您在 TextBox 中输入日期时,它被视为文本字符串而不是真实日期。

为了解决这个问题,请将TextBox中的日期字符串转换为实际日期,然后将其写回单元格。

请试试这个...

Sheet4.Range("M5").Value = CDate(TextBox2)

【讨论】:

  • 如此明显的答案,我完全没有注意到!这很好用,非常感谢。
  • @Merovin 不客气!很高兴它解决了您的问题。请花一点时间接受答案,将您的问题标记为已解决。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多