У меня есть вопрос:
Почему VBA Excel-я при переводе формулы VLOOKUP с английского на немецткий изменяет B:C на BEZUG! её?
Начальная формула:
Selection.FormulaLocal = GetLocalizedFormula("= SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(VLOOKUP($H2;translation_en_GB!B:C;2;""FALSE"");""%1"";$I2);""%2"";$J2);""%3"";$K2);""%4"";$L2)")
Функция перевода:
Function GetLocalizedFormula(formula As String)
' returns the English formula from the parameter in the local format
Dim temporary As String
temporary = Range("D1").formula
Range("D*").formula = formula
Dim result As String
result = Range("D*").FormulaLocal
Range("D*").formula = temporary
GetLocalizedFormula = result
End Function
После перевода:
= WECHSELN(WECHSELN(WECHSELN(WECHSELN(SVERWEIS($H2;translation_en_GB!#BEZUG!;2;"FALSCH");"%1";$I2);"%2";$J2);"%3";$K2);"%4";$L2)
Если я меняю вручную #BEZUG! на B:C, то работает так как надо.