excel - Excel - 日期 - vba 文本框到表格
问题描述
我有下面的 vba 用于设置今天日期的用户表单文本框。现在,当数据输入到我的产品列表表中的表格中时,日期被重新格式化。
Private Sub UserForm_Initialize()
txt_date.Value = Format(Date, "d/m/yyyy")
End Sub
因此,当数据添加到工作表中时,它会变成 m/d/yyyy。
解决方案
VBA 中使用的数据类型 + 回写工作表的方式将影响 Excel 解释数据的方式。看看超越的例子:
Sub TestDate()
Dim datestr As String, dateDate As Date
datestr = "11/05/2021"
dateDate = "11/05/2021"
Sheet1.Range("A1").Value = CDate(datestr)
Sheet1.Range("C1").Value = dateDate
Sheet1.Range("A2").Value2 = CDate(datestr)
Sheet1.Range("C2").Value2 = dateDate
End Sub
通过使用“value2”,您可以看到定义为“日期”类型的 var 的原始数据如何发送回 Excel。恕我直言,这是最好的方法,但您必须直接在 Excel 工作表中设置正确的格式(选择列 > 单元格格式 > 日期 => 选择您想要的格式(您也可以在 vba 中设置,但我不这样做)不认为这里需要它)。
祝你好运,
推荐阅读
- html - 这种应用内容安全策略的方法可以吗?
- google-app-engine - 将 ASP.NET Core 2.1 应用程序部署到 Google Cloud App Engine 错误:字符范围错误
- cypress - cypress.io 和隐藏元素在 DOM 中不存在
- java - 如何吐司验证错误消息显示没有选择微调器中的项目?
- java - Java从被调用方法退出while循环
- angular - Angular 在部署后无法路由到延迟加载的模块
- c# - 在 IIS 中使用 Crystal Reports 部署应用程序
- javascript - 在多步模式中显示第一个表单
- html - Foundation 6 CSS 复选框样式
- android - Google Play 开发者控制台上的 Apk 上传不起作用