2017-05-05 167 views
0

有什么办法可以禁用excel来读取日期单元格的区域设置吗?在细胞 当前存在的格式进行显示和编辑不同,喜欢它的下面存在:Excel和区域设置

enter image description here

+0

您的区域设置设置为MM/DD/YYYY,但你然后格式化细胞DD/MM/YYYY。选择一个,但改变它们以使它们匹配。 – CLR

+0

是的,但我可以强制excel不读区域设置? – PDS

+0

您可以使用'Application.International(xlCountrySetting)'来更改工作簿的区域设置吗? – Tom

回答

2

把folling到模块: 对于这项工作,我们需要存储用户的初始设置公共变量。这将需要投入Module不是Object

Option Explicit 
Public InternationalDateSetting As XlApplicationInternational 

然后把这个到ThisWorkbook对象。当用户打开工作簿时,它会将用户设置设置为公共变量。然后,在此用户停用工作簿时(即更改为其他工作簿或其他程序),它会将用户设置重置为默认设置,然后在用户激活工作簿时将其更改为您的自定义设置。在这一过程中,将控制应用程序的设置,但要具体工作簿

Option Explicit 
Private Sub Workbook_Open() 
    InternationalDateSetting = Application.International(xlMDY) 
End Sub 
Private Sub Workbook_Activate() 
    '' Please look at https://msdn.microsoft.com/en-us/library/office/ff840213.aspx for all settings 
    '' Set to true for month-day-year order, false for day-month-year 
    Application.International(xlMDY) = True 
    '' Or uncomment and use: 
    '' 0 = month-day-year 
    '' 1 = day-month-year 
    '' 2 = year-month-day 
    '' You will also need to change the Workbook_Open and Workbook_Deactivate from 'xlMDY' to 'xlDateOrder' 

    ' Application.International(xlDateOrder) = 0 
End Sub 
Private Sub Workbook_Deactivate() 
    Application.International(xlMDY) = InternationalDateSetting 
End Sub 
+0

即时通讯运行时错误 - >需要对象 – PDS

+0

可以通过链接托管文件提供一些示例excel文件吗? – PDS