string - excel vba 迄今为止的字符串

标签 string vba excel date

Windows 10 专业版,区域设置为英国英语。 在 Excel VBA 中,我有一个字符串“02/05/2017 16:30” 在英国,这意味着“2017 年 5 月 2 日 16:30”

但 VBA 以某种方式将其转换为美国格式,并在单元格中放入“05/02/2017 16:30”

VBA代码是这样的

Dim sField As String
sField = "02/05/2017 16:30"
ws.Cells(1,1) = sField

我可以使用 CDate 来解决这个问题,但是 CDate 但这需要额外的代码来确定哪些单元格是日期,哪些不是,而隐式转换适用于所有类型。

最佳答案

改用日期变量,并始终在 VBA 中以 MDY 形式提供日期。

Dim sField As Date
sField = #05/02/2017 16:30#
ws.Cells(1,1) = sField

据我所知,在 VBA 中,您必须始终按照“美国方式”工作,日期为 MDY。它不遵循区域设置。这很好,因为这样可以在异构环境中运行相同的代码。

关于string - excel vba 迄今为止的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47866311/

相关文章:

java - 按索引获取字符串字符

Python 根据句子列表中的特定条件剥离单词

mysql - 使用 Visual Basic 在 mysql 中保存 blob

excel - 需要将行剪切并粘贴到上一行的末尾

vba - 有没有更快的 CountIF

r - 比较字符串与 R 中的逻辑运算符

php - 如何在 PHP 中获取字符串的十六进制转储?

excel - 将工作表转换为仅包含字符串的数组

excel - 在 PowerPivot 中滚动 12 个月总和

excel - Application.Run 用于宏返回数组