在Excel的外语版本中打开时,命名范围内的公式会发生更改

在Excel的外语版本中打开时,命名范围内的公式会发生更改,excel,excel-formula,vba,Excel,Excel Formula,Vba,在英文版Excel中打开时,命名范围的以下定义工作正常: =OFFSET('Summary Data'!$B$9,0,0,TotalStops+1,SummaryDataColumns) 但是,当使用葡萄牙语版本的Excel打开同一工作表(使用英语版本的Excel创建)时,命名范围内的公式将更改为: =DESLOC('Summary Data'!$B$9;0;0;TotalStops+1;SummaryDataColumns) 据我所知,“DESLOC”是偏移量的正确翻译,但公式中的所有逗号

在英文版Excel中打开时,命名范围的以下定义工作正常:

=OFFSET('Summary Data'!$B$9,0,0,TotalStops+1,SummaryDataColumns)
但是,当使用葡萄牙语版本的Excel打开同一工作表(使用英语版本的Excel创建)时,命名范围内的公式将更改为:

=DESLOC('Summary Data'!$B$9;0;0;TotalStops+1;SummaryDataColumns)
据我所知,“DESLOC”是偏移量的正确翻译,但公式中的所有逗号均已替换为分号。现在,只要在vba代码中引用命名范围,代码执行就会在该点失败

仅供参考,引用命名范围的调用的形式如下:

thisworkbook.Names("dbSummaryData").RefersToRange

这个链接可以提供更好的解释


您应该能够在VBA代码中检查所选的语言,如果不是英语,则将分号替换为逗号,然后执行

我相信这是一只虫子。您可以将evaluate与referesto属性一起使用,或者改为通过名称引用范围
Sheets(“摘要数据”)。范围(“dbSummaryData”)