Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не работает FormulaLocal / 12 сообщений из 12, страница 1 из 1
03.11.2015, 16:11
    #39093904
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
День добрый еще раз.
Теперь другая проблема: есть небольшая формула, которая раньше работала (в пред. файле) теперь почему-то отказываться, хотя ничего необычного в нем нет. Ниже пример кода:
Код: vbnet
1.
2.
3.
4.
5.
If c = 62 Then ThisWorkbook.Sheets("Общая ОСВ").Range("L" & newi).FormulaLocal = "=ЕСЛИОШИБКА(F" & newi  &"J"& newi & ";0)"

'если записать в таком виде
If c = 62 Then ThisWorkbook.Sheets("Общая ОСВ").Range("L" & newi).value = .......
' то работает, но атоматом не считает



Где может быть ошибка???
...
Рейтинг: 0 / 0
03.11.2015, 16:35
    #39093932
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20отказыватьсяkos20не работает
вторая подряд тема и опять то же самое. Что, эксель выдает ошибку "не работаю сегодня, отказываюсь"?

Предполагаю, что проблема в пропущенном двоеточии в диапазоне
...
Рейтинг: 0 / 0
03.11.2015, 16:40
    #39093941
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20раньше работалаключевая фраза! Что вот так прям и работала без двоеточия?

Как и в предыдущей теме:
kos20не работает функция, хотя раньше работала.kos20
Код: vbnet
1.
.SpesalCells

вот правда раньше работала со SpesalCells вместо SpecialCells, а потом вдруг перестала? Наверное микрософты гады ключевое слово заменили.

Не вводи плиз в заблуждение фразой "раньше работало", это ведь неправда.
И пиши пожалуйста В ЧЕМ КОНКРЕТНО ПРОБЛЕМА, какие ошибки выдаются, что не так в результате, а не просто "не работает" - и мол сами думайте, что я тут накосорезил
...
Рейтинг: 0 / 0
03.11.2015, 19:09
    #39094041
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20, а какой вообще смысл вводить в ОДНУ ячейку формулу вида

Код: plaintext
=ЕСЛИОШИБКА(F1:J1;0)

? Формула всегда будет возвращать 0, т.к. первый аргумент #ЗНАЧ! - посмотрите пошаговое вычисление формулы.
Формулу можно ввести как формулу массива - тогда ЕСЛИОШИБКА вернет массив, но в ячейку попадет только первый элемент, т.е. опять нет смысла использовать в качестве первого элемента диапазон.
...
Рейтинг: 0 / 0
03.11.2015, 21:11
    #39094087
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
Shocker.Pro,

Да вроде не должно быть там двоеточия

Код: vbnet
1.
2.
3.
  If c = 62 Then ThisWorkbook.Sheets("Общая ОСВ").Range("L" & newi).FormulaLocal = _
             "=ЕСЛИОШИБКА(((F" & newi & "+J" & newi & ")/2" & "/I" & newi & "*$i$1;0)"
   




она (формула) почему-то не записывает в ячейку саму формула.... если число или просто текст , то работает
...
Рейтинг: 0 / 0
03.11.2015, 21:12
    #39094088
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
Казанский,

Это для примера было. саму формулу уже опубликовал
...
Рейтинг: 0 / 0
03.11.2015, 21:23
    #39094096
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20почему-то не записывает в ячейку саму формулаПотому что в формуле очевидная ошибка. Но неужели при этом Excel не сообщает об этом сообщением об ошибке??? Или.... Опять стоит On Error Resume Next в начале кода??????
...
Рейтинг: 0 / 0
03.11.2015, 21:30
    #39094101
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20небольшая формула, которая раньше работалатак какая же все-таки формула раньше работала? Вот эта?
Код: plaintext
=ЕСЛИОШИБКА(F5J5;0)

или вот эта:
Код: plaintext
=ЕСЛИОШИБКА(((F5+J5)/2/I5*$i$1;0)

???
...
Рейтинг: 0 / 0
03.11.2015, 21:39
    #39094103
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20Казанский,

Это для примера былоНахрена придумывать пример, в котором одна ошибка заменяется другой? Какой прок будет, если тебе исправят ошибку в примере, но ты не сможешь использовать исправление в фактической формуле?
Проведи простейшие отладочные действия. Когда происходит останов по ошибке (On Error Resume Next убрал?!), скопируй кусок, который составляет формулу, и вычисли его в окне Immediate:

Код: plaintext
1.
2.
?"=ЕСЛИОШИБКА(((F" & newi & "+J" & newi & ")/2" & "/I" & newi & "*$i$1;0)"
=ЕСЛИОШИБКА(((F2+J2)/2/I2*$i$1;0)

Видно, что есть лишняя открывающая скобка.
...
Рейтинг: 0 / 0
03.11.2015, 21:53
    #39094114
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
kos20,
вообще, здесь формула вставляется в строку newi , и в ней используются переменные ссылки тоже на строку newi . Значит, в стиле R1C1 формула ОДИНАКОВА для любой строки, и не нужно ничего в нее подставлять.
Отладьте формулу на листе (напр. в яч. L1), получИте в окне Immediate формулу в стиле R1C1

Код: plaintext
1.
?[L1].formular1c1
=IFERROR((RC[-6]+RC[-2])/2/RC[-3]*R1C9,0)

И скопируйте в свой код

Код: vbnet
1.
2.
If c = 62 Then ThisWorkbook.Sheets("Общая ОСВ").Range("L" & newi).FormulaR1C1 = _
             "=IFERROR((RC[-6]+RC[-2])/2/RC[-3]*R1C9,0)"



Использовать в коде формулы на локальном языке - плохая практика. Хотя можете использовать свойство FormulaR1C1Local .
...
Рейтинг: 0 / 0
04.11.2015, 22:23
    #39094712
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
Shocker.Prokos20почему-то не записывает в ячейку саму формулаПотому что в формуле очевидная ошибка. Но неужели при этом Excel не сообщает об этом сообщением об ошибке??? Или.... Опять стоит On Error Resume Next в начале кода??????

ага так и было. исправил))
...
Рейтинг: 0 / 0
04.11.2015, 22:28
    #39094713
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не работает FormulaLocal
Казанский,

на самом деле была лишняя ( (скобка))))..
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / не работает FormulaLocal / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]