情况如下。我有一个我在美国开发的Excel工作表,除工作表函数CONVERT()
外,还使用了一些VBA代码(可用于分析插件,用于转换单位)。我将工作表发送到德国进行填写,当我收回它时,它已将我的转换功能重命名为UMWANDELN()
,这打破了我在美国的工作表。
我的问题是,如果我写一个VBA包装器到WorksheetFunction.Convert()
并使用它而不是单元格公式=CONVERT()
,德国办公室是否会破坏它,因为转换将不可用。 WorksheetFunction.Umwandeln()
会有空吗?我试着错误捕捉?
那么,如果我需要依赖CONVERT()
功能,如何让我的工作表在美国和德国都可用?是否有VBA解决方案,还是我被卡住了?
另一种解决方法是重新编写我自己的转换单元功能,这可能是我所有不同组合的麻烦。
答案 0 :(得分: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
它似乎在从美国到德国的往返旅程中幸存下来。我希望社区能够更深入地了解情况并提出如此新颖的解决方案。