excel - 如何在用户表单中格式化日期选择器 (DD.MM.YY)
问题描述
谢谢你再次阅读我的问题。我在列范围内输入日期,我注意到使用以下方法输入的两个日期之间的格式存在差异。方法 1:我有一个定制的用户表单,可以在日期选择器-自定义日期选择器弹出窗口中看到的活动单元格中输入日期
方法2:我用Cntrl+:一起输入日期。
我虽然单元格格式相同,但我注意到我在 Excel 中使用 LEN 公式调查的两个日期有所不同。
LEN 通过方法 1 给我的日期 05.08.2021 为 10,通过方法 2,LEN 为 5。在下一步中,我使用此日期推导出日历周数,由于两种方法存在差异,我使用方法 1 得到错误,它适用于方法 2。很可能是因为方法 1 持有一个非常长的 svalue,因为在我的日历周 vba 中,我将这个暗淡作为整数,我得到了错误。
谢谢你,希望我在这里得到帮助。
通过上述两种方法创建的两个相同日期在 第二列中解释,其中结果为 5 和 10。它是使用 excel 公式 LEN 得出的。我从这些日期中提取周数的周数 vba 仅适用于结果为 5 的日期,即当字符串的长度为 5 时。但是,例如在这种情况下,当它为 10 时,我得到运行时错误 6,如图所示运行时错误 6
解决方案
实际上,代码非常混乱。我希望这是您希望检查的代码。
Sub setDate()
Dim tempUFX As Object
'Dim tempUFX As Object
Dim ufr As Object
For Each ufr In UserForms
If ufr.Name = FormName_SetDate Then
Set tempUFX = ufr
Exit For
End If
Next ufr
If Not tempUFX Is Nothing Then
'Set tempUFX = UserForms(FormName_SetDate)
tempUFX.Controls(ctrlName_SetDate).Value = sDate
tempUFX.Controls(ctrlName_SetDate).SetFocus
End If
Unload PopDatePickerX
Range(cCell).Value = Format(sDate, DatePickerX_DateFormat)
'Range(cCell).NumberFormat = "dd.mm.yyyy" ' added on 05.08.2021
Unload PopDatePickerX
End Sub
推荐阅读
- c - 从两个输入计算纸币和硬币的变化
- flutter - 设置 oAuth 同意屏幕
- c# - 在 WinForms 中使用 System.Windows.Clipboard.SetText 会导致表单缩放错误
- firefox - Firefox webExtension - 在 HTTP POST 响应中重写“redirectURL”
- git - git - libcurl 中不支持或禁用协议 https
- r - model.frame.default 中的错误(公式 = mldata.knn$Gender ~ ., data = mldata_train, : 可变长度不同(为“年龄”找到)
- javascript - 有人能解释一下为什么reduce函数能安慰以下数字吗
- iis-10 - 我无法使用 asp classic 从 IIS(win 2016)生成大于 25.6 MB 的 XML 文件
- python - 为什么 pip 声称我有一个不兼容的模块,尽管版本正确(并破坏了 docker 构建)?
- javascript - 单击html链接时禁用springboot请求检查