【发布时间】:2015-08-27 07:13:51
【问题描述】:
我创建的电子表格遇到了问题。它在我的 PC 上运行良好,但我知道办公室中的其他一些 PC 具有美国本地化。有没有办法强制 VBA 使用英国本地化进行检查?
我遇到的问题是,作为宏的一部分,我使用文本到列来确保输入的日期显示为日期,而不是数字或文本。在我的电脑上它似乎工作正常,但我知道我将其设置为英国本地化。
其他人遇到问题,不知道这是否是英国本地化。不必费心检查其他人的本地化或坚持他们的计算机上有英国本地化,如果我可以在 VBA 中添加一行额外的代码来强制在这个宏中完成的所有事情都在英国本地化。
问题本身是程序将日期从英国格式转换为美国格式。当文本到列阶段发生在宏中时,它似乎正在发生。
有没有办法让 VBA 自动检查它是否是英国本地化,如果不是,则将其更改为英国本地化,然后在最后将其更改回来?我不想强迫每台电脑都进行英国本地化,因为这可能会导致其他问题或惹恼用户——这绝对是不可取的!
干杯!
【问题讨论】:
-
TextToColumns有一个FieldInfo参数,允许您指定日期顺序(DMY 等)。它不是绝对 100% 可靠的,特别是如果数据中有时间部分。如果你可以的话。我会单独解析数据,而不是使用 TTC。 -
干杯罗里。在这种情况下,将数据放入用户表单中是否会更好?日期字段非常重要,因为它不仅可以从中计算出宏的结果,而且还可以命名生成的报告 - 显然两者都需要正确!
-
我不确定用户表单会有什么不同?也许您可以发布宏代码,以便我们可以看到您实际在做什么。
-
计划是有一个用户表单,以便用户选择日期,然后电子表格根据此选择进行计算。这有望消除日期和月份切换的问题,因为用户不会混淆例如 1.2.15 是指二月一日还是一月二日。
标签: vba excel localization