2

这是情况。我有一个我在美国开发的 Excel 工作表,除了工作表函数之外,它还使用了一些 VBA 代码CONVERT()(可与分析插件一起使用,以转换单位)。我将工作表发送到德国进行填写,当我取回它时,它已将我的转换函数重命名为UMWANDELN()这打破了我在美国的工作表。

我的问题是,如果我编写一个 VBA 包装器WorksheetFunction.Convert()并使用它而不是单元格公式=CONVERT(),德国办公室会破坏它,因为转换将不可用。会WorksheetFunction.Umwandeln()可用吗?要我尝试两者都捕获错误?

那么,如果我需要依赖该CONVERT()功能,如何使我的工作表在美国和德国都可用?是否有 VBA 解决方案,还是我被卡住了?

另一种解决方法是重新编写我自己的转换单元函数,这对于我拥有的所有不同组合可能会很麻烦。

4

1 回答 1

2

我目前的解决方法(不是最好的)是将所有调用替换为=CONVERT()调用

Public Function ConvertUnit(ByVal value As Double, ByVal from_unit As String, ByVal to_unit As String) As Variant
    ConvertUnit = WorksheetFunction.Convert(value, from_unit, to_unit)
End Function

它似乎在从美国到德国的往返旅行中幸存下来。我希望社区能够对这种情况有更多的了解,并提出如此新颖的解决方案。

于 2013-10-22T13:44:50.977 回答