首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将UserForm textbox.value作为日期格式传输到工作表

将UserForm textbox.value作为日期格式传输到工作表
EN

Stack Overflow用户
提问于 2018-10-12 02:53:25
回答 1查看 1.4K关注 0票数 0

我做错了什么。我只想将我的日期从UserForm保存到列表的末尾,以及所有其他数据。一切正常,但我对日期格式有问题。

我使用该宏在UserForm文本框中将其设置为"wanted“格式:

代码语言:javascript
复制
Private Sub E1GExpiryDate_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dDate As Date
  dDate = DateSerial(Year(Date), Month(Date), Day(Date))
  E1GExpiryDate.Value = Format(E1GExpiryDate.Value, "mmm.yyyy")
dDate = E1GExpiryDate.Value
End Sub

以及用于传输它的宏:

代码语言:javascript
复制
Private Sub SaveData()
  Dim lRow As Long
  Dim ws As Worksheet
  Set ws = Tabelle1
  lRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).row
With ws
    .Cells(lRow, 1).Value = Me.E1GCharge.Value
    .Cells(lRow, 3).Value = Me.E1GMatName.Value
    .Cells(lRow, 4).Value = Me.E1Gtype.Value
    .Cells(lRow, 5).Value = Me.E1GMatNumber.Value
'copy date.........................
    .Cells(lRow, 6).Value = Format(Me.E1GExpiryDate.Value, "mmm.yyyy")
    .Cells(lRow, 7).Value = Me.E1GBoxPcs.Value
    .Cells(lRow, 8).Value = Me.E1GAmmount.Value
    .Cells(lRow, 9).Value = Me.E1GUnit.Value
    .Cells(lRow, 10).Value = Me.E1Gkonz.Value

End With
'Clear input controls.
  Me.E1GMatName.Value = ""
  Me.E1Gtype.Value = ""
  Me.E1GMatNumber.Value = ""
  Me.E1GExpiryDate.Value = ""
  Me.E1GBoxPcs.Value = ""
  Me.E1GAmmount.Value = ""
  Me.E1Gkonz.Value = ""
  Me.E1GUnit.Value = ""

Call GetData

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-12 03:08:02

  1. DateSerial(Year(Date), Month(Date), Day(Date))等同于Date.
  2. But更重要的是,看起来像日期的格式化文本(Format的结果)与输入到单元格中的实际日期(数值)不同,然后可以对其进行格式化。
  3. 因此将Date写入单元格,然后更改单元格的and

在您的案例中:

代码语言:javascript
复制
....
.Cells(lRow, 6).Value = Date
.Cells(lRow, 6).NumberFormat = "mmm.yyyy"
....
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52767077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档