Excel VBA 宏:从字符串中提取日期为 dd/mm/yyyy

发布于 2025-01-11 03:39:42 字数 295 浏览 0 评论 0原文

我有一个 Excel 工作表,其中包含带有时间戳的格式化单元格文本,我需要以 dd/mm/yyyy 格式提取日期并将结果作为日期存储在单元格中。我通常在其他计算中所做的就是获取第一行的结果,填充到底行,然后复制并粘贴为值,而不是公式本身。该文件可能有 30000 行。

我尝试过使用日期函数,该函数在工作表上运行良好,但在 VBA 代码上运行不佳。

欢迎任何帮助

Excel 工作表如图所示

I have an Excel sheet with a formatted cell as text with a timestamp from I need to extract the date in format dd/mm/yyyy and store the result in a cell as date. What I normally do on other calculations is get the result for first line, populate to bottom line, then copy and paste as values, not the formula itself. The file could have 30000 lines.

I have tried with the date function which works fine on the sheet, but not on the VBA code.

Any help are welcome

The Excel sheet look as the image

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟织青萝梦 2025-01-18 03:39:42

Excel 将自动识别大多数日期。通过仅提供字符串的前 10 个字符(即日期),Excel 将知道如何处理它。

您的公式可以简化为具有 dd/mm/yyyy 格式的单元格:

=DATEVALUE(LEFT(A1,10))

相应的 VBA 函数如下所示:

Format(Left(Range("A1").Value, 10), "dd/mm/yyyy")

Excel will automatically recognize most dates. By only supplying the first 10 characters of the string, i.e. the date, Excel will know what to do with it.

Your formula could be simplified, into a cell with a dd/mm/yyyy format:

=DATEVALUE(LEFT(A1,10))

The corresponding VBA function would look like:

Format(Left(Range("A1").Value, 10), "dd/mm/yyyy")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文