.Formula Runtime error 1004 на некоторых машинах а не на других - PullRequest
0 голосов
/ 15 ноября 2018

Я пойду прямо к делу.Вот код строки, который вызывает у меня ошибку:

ThisWorkbook.Worksheets("Dados").Cells(16, 10).FormulaLocal = "=-(I16)+" & a & "+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"

Приведенный выше код работает на моей домашней машине (где она была создана) и не работает на моей лаборатории или рабочей машине

ThisWorkbook.Worksheets("Dados").Cells(16, 10).Formula = "=-(I16)+" & a & "+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"

А второй работает на моей лаборатории и на рабочей машине, но не на моей домашней машине.Единственная разница - Формула и FormulaLocal.Я знаю, что FormulaLocal может выдавать мне ошибки, потому что разные установки Excel могут иметь разные языки ... но не должна ли Формула работать везде?

Кроме того, если я изменяю ячейки на R16C9 вместо I16, это работает в моемдомашняя машина и жуки в других.Я действительно хочу код, который может работать везде здесь.Может кто-нибудь помочь?Спасибо

PS: переменные все в порядке и хорошо определены, но проблема, вероятно, в том, что они имеют десятичные дроби, поэтому проблема с запятой или точкой

Debug.Print (с FormulaLocal) дает мне:

=-(I16)+0,549840740436919+(0,0513418101762096*((604,958825198337 ^ 1,04086742681856)*(I16 ^ 1,04086742681856)/(49,44 ^ 1,04086742681856)))

1 Ответ

0 голосов
/ 15 ноября 2018

Вероятно, есть более удачные решения, в основном из-за глупого способа, которым я использовал это, если, но теперь это работает на каждой машине, которая у меня есть. Спасибо всем.

...
bloqueio = 5
On Error GoTo alternativa
ThisWorkbook.Worksheets("Dados").Cells(16, 10).Formula = "=-(I16)+" & a & "+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"
If bloqueio = 0 Then
alternativa:
    On Error GoTo -1
    On Error GoTo Erro
ThisWorkbook.Worksheets("Dados").Cells(16, 10).FormulaLocal = "=-(I16)+" & a & "+(" & c & "*((" & PiZi & " ^ " & d & ")*(I16 ^ " & d & ")/(" & Pc & " ^ " & d & ")))"
End If
On Error GoTo -1
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...