vba - 通过数组将日期格式化为年份
问题描述
我正在为这件事失去理智。
Dim myDate As Date
Dim myString As String
myDate = #9/29/1992#
myString = myDate
Range("A1") = myDate 'output: 29/09/1992
Range("A2") = Year(myDate) 'output: 14/06/1905
Range("A3") = Right(myString, 4) 'output: 14/06/1905
Range("A4") = Format(myDate, "yyyy") 'output: 14/06/1905
Range("A5") = Format(myDate, "mm/dd/yyyy") 'output: 29/09/1992
Range("A:A") 被格式化为短日期,因为它保存了许多主题的出生日期 (dd/mm/yyyy)。发生的情况是,我将 1992 输出到格式化为短日期的单元格,这会将其转换为 1905 年 6 月 14 日。
问题是我将整个范围加载到一个数组中,进行一些修改。有时出生日期是正确的,有时我会计算出估计的出生年份。然后我将修改后的数组输出到我的范围。这是一个非常复杂的代码,这是最简单和最快的方法。
但是,我如何将那些只有一年的单元格格式化为数字/文本/任何将其格式化为“yyyy”的内容?
解决方案
推荐阅读
- node.js - 使用 Yarn 安装节点包或 Node_Modules 时出现“无法获取本地颁发者证书”错误
- python - PyQt5 按钮单击事件未在单击预期按钮时触发
- javascript - Lodash过滤器给定具有多个条件的json数组
- reactjs - 从 React 容器获取 props 到功能组件
- python - macOS Catalina 或 Big Sur 上的“import cppyy”异常
- r - R 中 mlp 的归一化(mnist 数据集)
- android - 如何在 Flutter 中创建文本格式小部件?
- c# - 在 Unity 中查看对象时如何夹头
- python - 如何用虚拟环境导出python项目?
- python - 从与类项关联的字符串中获取类项的属性