Страницы: 1
RSS
Аналог русскоязычной функции
 
Пишу на c#, необходимо задать имя функции excel по-английски.
Функция следующая:
=ПОИСКПОЗ(J8;Лист2!A:A;0)
Я смог догадаться лишь до:
=MATCH(J8;Sheet2!A:A,0)

Но в ячейках после вычисления ошибка:#Н/Д, при двойном нажатии:
=ПОИСКПОЗ(J8;Sheet2!A:A;0)
То есть, слово "Sheet2!" не заменилось на "Лист2!"
Как будет верно такое исполнение?
Изменено: vlgpasha - 10.03.2016 20:33:00
 
Попробуйте
WorksheetFunction.Match
 
vlgpasha, название листа если пишется на русском то его не надо переводить
хз как вы и куда формулу засовываете но в ВБА через запятую аргументы перечисляются

так же может настройка не точка а зпт, не ";" а ":"
не нужно оскорблять.
 
И ещё возможно разделители нужны запятые. Обе. :)
А название листа пишите как есть в файле.
Изменено: Hugo - 10.03.2016 20:33:27
 
vlgpasha,
для быстрого перевода с русского на ангийский функций включаете ридер, пишете формулу в ячейке на русском, после смотрите что ридер записал, там будет на английском
не нужно оскорблять.
 
Для быстрого перевода с русского на английский функций, пишете формулу в ячейке на русском, после в окне immediate пишете ?activecell.formula и жмете enter. Чаще для макросов подходит activecell.formular1c1
Я сам - дурнее всякого примера! ...
 
Цитата
Hugo написал:
И ещё возможно разделители нужны запятые. Обе.
А название листа пишите как есть в файле.
Истина! Спасибо всем за помощь!

код с# (поменял названия ячеек):
workSheet.Cells[j, "L"] = "=MATCH(J" + j.ToString() + ",Лист2!L:L,0)";
 
Наименование всех функций на русском и английском можно посмотреть тут (в зависимости от версии офиса, путь может немного меняться):
C:\Program Files\Microsoft Office\Office14\1049\FUNCS.XLS
«Бритва Оккама» или «Принцип Калашникова»?
Страницы: 1
Наверх