强制VBA使用英国本地化

Mil*_*r86 6 excel vba localization excel-vba

我用我创建的电子表格遇到了麻烦.它在我的电脑上工作正常,但我知道办公室里的其他一些电脑有美国本地化.有没有办法迫使VBA使用英国本地化来检查事物?

我遇到的问题是,作为宏的一部分,我使用Text to Columns来确保输入的日期显示为日期,而不是数字或文本.在我的电脑上似乎工作正常,但我知道我把它设置为英国本地化.

其他人有问题,并且不知道它是否是英国本地化.不必考虑其他人的本地化或坚持他们在他们的计算机上有英国本地化,这是理想的,如果我可以在VBA中添加额外的代码行以强制在此宏中完成所有操作.英国本地化.

问题本身就是该计划正在将英国格式的日期转换为美国格式.它似乎发生在宏中发生text-to-columns阶段时.

有没有办法让VBA自动检查是否是英国本地化,如果没有,那么将其更改为英国本地化,然后在最后更改它?我不想强迫每台电脑都有英国本地化,因为它可能会导致其他问题或惹恼用户 - 这是绝对不可取的!

干杯!

Mil*_*r86 0

好的,所以我得出的结论是,这不仅仅是本地化问题。我检查了办公室里另一台设置为英国本地化的电脑,它正在那里复制。

我遇到的这个问题的两个潜在解决方案是:

首先,由于 Excel 将日期存储为单独的标识符,因此使用用户窗体输入日期 - 计划是让用户单击“选择日期范围”框,这将调用用户窗体“选择日期”。这将包含六个下拉框 - 两组,每组三个选择日、月和年。日将是数字,月是文本,年是数字,因为这意味着用户和 Excel 都不会混淆哪个是哪个。

第二种解决方案是让 Excel 将日期存储为 DDMMMYY - 或例如 01jan2015。这是我的一位同事建议的替代解决方案,但由于我计划在某个时候自学用户表单,所以最好现在就开始!

希望这对遇到同样问题的人有所帮助:)

编辑-

最终使用了 Trevor Eyre 建议的解决方案:Formatting MM/DD/YYYY dates in textbox in VBA for userforms。它既优雅又实用。