powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / В формуле счетесли(R3C5:R3C45;"+") ошибка
26 сообщений из 26, показаны все 2 страниц
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712508
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа на Си вычисляет строку формулы и и вставляет её в ячейку.
До EXCEL 10 работало
Теперь выдаётся сообщение об ошибке для формулы, например, счетесли(R3C5:R3C45;"+")
Я что-то в жизни пропустил?
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712523
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Синтаксически претензий к формуле нет (если там таки есть ведущий знак равенства)... ну разве что проверить, что не установлен режим англоязычных имён функций при установленном дополнительном языковом пакете (хотя емнип оно работает только при смене языка интерфейса).
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712554
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07Теперь выдаётся сообщение об ошибке
1. Какое
2. приведите строку записи формулы в ячейку полностью. Потому что есть Formula, FormulaR1C1, FormulaLocal, FormulaLocalR1C1. Что используете Вы и в каком виде?
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712562
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула помещается так:
Код: plaintext
1.
2.
3.
4.
5.
6.
int Lang_ID=xl->LanguageInterfaceID();
AnsiString s,CountIf=Lang_ID==RUS_LANG ? "=СЧЕТЕСЛИ(" : "=COUNTIF(";
for(i=0;i<nSt;i++){
	s=CountIf+"R"+(FIRSTROW+i)+"C"+FIRSTCOL+":R"+(FIRSTROW+i)+"C"+(FIRSTCOL+nAllTask-1)+";\"+\")";
	xl->PutVal(FIRSTROW+i,ColNTask,s); // вот здесь
}



Сообщение: EOLEsysError "Ошибка"
в подчеркнутой строке
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712620
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07,

А что записано в PutVal?
И раз уж определяете локализацию и в зависимости от неё название функции - то и разделители аргументов тоже надо определять. Для англ. как правило это запятая, а не точка-с-запятой.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712621
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07
Код: plaintext
1.
	s=CountIf+"R"+(FIRSTROW+i)+"C"+FIRSTCOL+":R"+(FIRSTROW+i)+"C"+(FIRSTCOL+nAllTask-1)+";\"+\")";


Что тут делает этот символ?
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712632
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

он является как бы разделителем аргументов :) Т.е. переменная s - это формула в сборе, включая все аргументы. Т.е. собранная полноценная запись для вставки формулы в ячейку.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712634
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за участие.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712665
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07,

пожалуйста. А в чем дело-то все же было? Для будущих поколений делиться решением не хотите?
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712750
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ощибка как была так и осталась.
вернусь к excel 2007
велик и славен microsoft
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712768
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Pristон является как бы разделителем аргументов :) Т.е. переменная s - это формула в сборе, включая все аргументы. Т.е. собранная полноценная запись для вставки формулы в ячейку.Я правильно понимаю, что если эту самую формулу внести на лист Excel руками, а потом получить при помощи какого-нибудь комплементарного xl->GetVal, то полученное значение в точности равно тому, что Вы пытаетесь отправить оператором xl->PutVal?
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712837
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, конечно, пробовал ввести эту формулу руками - не программно - эффект тот же.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712861
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07рукамиНет такой функции СЧЕТЕСЛИ, есть СЧЁТЕСЛИ

Используй подсказки
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712886
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07,

и при включенном стиле ссылок А1 стиль R1C1 в формуле не прокатит.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712915
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)Действительно, готовя картинку, я написал СЧЕТЕСЛИ, но СЧЁТЕСЛИ даёт тот же результат
The_Pristи при включенном стиле ссылок А1 стиль R1C1 в формуле не прокатит.
Программа работает уже несколько лет. И всё прокатывало. Сменили версию Excel и вот тебе и пожалуйста.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39712918
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В другом месте сменили на Excel 2016 - там этот отчет вообще не работает.
Обнаружили, что по умолчанию число листов -1. Сменили на 2 и заработало.
Спрашивается, какое отношение имеет число листов к этой формуле?
Я и говорю:
Велик и славен microsoft.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713140
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07какое отношение имеет число листов к этой формуле?Вполне возможно, что прямое. Мы же не знаем в какой Вы там лист и как вставляете. Может там напрямую идет обращение именно ко второму листу.
muk07Программа работает уже несколько лет. И всё прокатывалоключевое слово - прокатывало.
Мои коды, например, не лажают ни в одной из версий, чтобы я там не вставлял. Поэтому не Microsoft здесь виноват, а разработчик того кода, который работает только в одной версии и только с двумя листами в книге :) Есть подозрение, что у Вас просто мало опыта работы именно с Excel, отсюда и такие косяки. Например, выше я уже указывал, что раз на разные локализации опираетесь при записи формулы - то и разделитель аргументов надо тоже под локализацию делать, а еще лучше определять из системы, а не везде лепить точку-с-запятой, опираясь лишь на
muk07Программа работает уже несколько лет. И всё прокатывало
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713323
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвыше я уже указывал,
Все разделители перепробованы были сразу. Не такой уж я...
Было бы лучше, если бы вместо указаний можно было бы прочитать
как следует писать.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713334
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07если бы вместо указаний можно было бы прочитать как следует писатьЧто мешает? Для определения разделителя есть ListSeparator в Application.International:
Код: vbnet
1.
Excel.Application.International(xlListSeparator)


не искал(не было необходимости), но думаю, что где-нибудь в реестре это тоже есть, если получить напрямую от Excel нет возможности(хотя это будет странно).
Разделитель вообще вещь такая. Написание функции может быть на английском, но при этом разделитель все же будет как для рус.локализации.
И опять же: следовало бы разобраться, что есть такое PutVal. Если именно значение ячейки(в случае с Excel) - то это не тоже самое, что формула.
Неясно, почему не используется тот же Interop или OLE для связи с Excel. Возможно, для этого есть причины, о которых мы не знаем. Но и Вы про них не говорите.
Потому как есть универсальные свойства Formula и FormulaR1C1. Туда записывается формула исключительно в английском написании с разделителем запятая. И никаких лишних бубнов. В любой локализации такая формула будет работать как положено.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713398
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Putval ни при чём.
я непосредственно в excel руками не могу вписать формулу ни с какими разделителями.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713404
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07я непосредственно в excel руками не могу вписать формулу ни с какими разделителями.так на это уже ответили, в чем проблема

А программно как раз-таки и логично использовать FormulaR1C1
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713409
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07я непосредственно в excel руками не могу вписать формулуможет потому, что вписывать надо как того требует программа, а не как Вы себе придумали?
-Установите стиль ссылок в Excel R1C1(Файл -Параметры -Формулы -Использовать стиль ссылок R1C1)
-убедитесь, что язык для формул используется русский
-убедитесь в правильности написания самой формулы и ссылок(в ссылках не должно быть кириллицы)
Код: plaintext
=СЧЁТЕСЛИ(R3C3:R3C10;"+")
в стиле А1
Код: plaintext
=СЧЁТЕСЛИ($C$3:$J$3;"+")
или англ
Код: plaintext
=COUNTIF(R3C3:R3C10,"+")
Тогда поймете, что Excel все делает правильно, в отличии от Вас
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713420
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Си++ класс, написанный мной для создания отчётов в Excel через OLE 15 лет назад безупречно до сих пор работал.
Вы, наверное, сами не замечаете своего высокомерия. Ни одна ваша реплика не отвечает на поставленный вопрос.
Каждый раз следует ответ на подменённый вопрос.
Не утомляйте себя.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713432
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я купил машину, ездил, расходники не менял, а зачем? Она безупречно ездила.
А теперь она сломалась. Но ваши высокомерные ответы про то, что масло все-таки надо было менять, я слушать не намерен.
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39713582
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
muk07сами не замечаете своего высокомерияДа, именно мое высокомерие заставляет проявляться ошибки напрограммированного 15 лет назад чуда. А прочитать советы Вы, видимо, не в состоянии из-за опять же моего высокомерия.
muk07Каждый раз следует ответ на подменённый вопрос.
Это Вы, видимо, про себя. Потому что изначально был от меня такой вопрос:
The_Pristесть Formula, FormulaR1C1, FormulaLocal, FormulaLocalR1C1. Что используете Вы и в каком виде?
Где ответ?
The_PristА что записано в PutVal?
Где ответ? Правильно, автор его зажал, как и многое другое.
А на остальные вещи Вы получили ответ, но вот дать ответ на встречные вопросы Вы уже были почему-то не в состоянии.

На то, что Вы даже руками формулу не можете ввести без ошибки(на скрине Вы это продемонстрировали) Вы получили ответ сразу и разъяснение почему ошибка может быть вообще в этом случае(стиль ссылок не соблюли). Но нафиг это Вам читать и вдумываться, когда все эти косяки можно просто свалить на Microsoft? Да, он не идеален. Но в данном случае виноват не он, а Вы, как разработчик того кода, который дает ошибку на элементарной записи. Все, добавить больше нечего. Вы просто не хотите искать и понимать ошибку - проще остаться на старой версии, где листов по умолчанию создается больше 1 и стиль ссылок, видимо, тоже всегда А1. Но это все до поры до времени. Когда-нибудь и это даст осечку и виноватых дальше самого себя искать будет негде. И ответы на вопросы при таком подходе - тоже.

Удачи в разработках!
...
Рейтинг: 0 / 0
В формуле счетесли(R3C5:R3C45;"+") ошибка
    #39730106
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наткнулся на этот свой старый пост
решил написать как вернуть адрес ячейки в в виде R число C число в AX25.
работает с самыми старыми версиями excel.
может кому-то пригодится:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
//-----------------------------------------------
AnsiString DecimalTo26(int n){ // отсчет n от 1-цы
// преобразование целого к основанию системы счисления 26
// для именования столбцов Excel
static char *Lat="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int k;
AnsiString r;

while(n>0){
	k=(n-1)%26;
	r=AnsiString(Lat[k])+r;
	n=(n-1)/26;
}
return r;
}
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / В формуле счетесли(R3C5:R3C45;"+") ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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