Как создавать формулы VBA в Германии - PullRequest
0 голосов
/ 30 марта 2020

У меня есть процесс, который строит ячейку с вычислением различных значений

Val_1 = [A1]
Val_2 = [A2]
[E1] = "=-" & Val_1 & " -" & Val_2

Это строит формулу, чтобы пользователи могли видеть, как рассчитывается выходной сигнал, например

E1 =-123 -234

У меня этот код VBA работает правильно в Великобритании, но когда процесс запускается в Германии, он вызывает ошибку: Anwendungs- oder objektdefinierter Fehler

Я пробовал разные вещи, но это не сработало. Например, используя [E1] .Formula или добавляя символ в равных ([E1] = "^ = -"), а затем удаляя его ([E1] = Right ([E1], Len ([E1])) - 1))

Как я могу заставить его работать в Германии?

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Попробуйте, пожалуйста:

   Dim Val_1 As Long, Val_2 As Long
   Val_1 = Range("A1")
   Val_2 = Range("A2")
   Range("E1").Formula = "=-" & Val_1 & " -" & Val_2

Это будет работать при любой установке ...

0 голосов
/ 30 марта 2020

Может быть, вы можете попробовать объединить с Application.WorksheetFunction.CONCATENATE(). По моему опыту, функции Excel хорошо интерпретируются в разных локалях.

РЕДАКТИРОВАТЬ: в качестве альтернативы, этот пост должен помочь настроить простой оператор if после определения локали: VBA для Excel 2010/2013 - Как определить язык системы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...