Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.01.2009, 11:58   #1
NikolayGVB
Пользователь
 
Регистрация: 12.01.2009
Сообщений: 13
Вопрос Ввод сложных формул в ячейку

Дорогие Коллеги,

пожалуйста, подскажите, как правильно ввести в ячейку чуть более сложную формулу, например:
=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;"";M6+P6+ S6+V6)

Я по простоте душевной пытаюсь применить следующий код:
Код:
FormulaInsertY = "=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;" & Chr(34) & Chr(34) & ";M6+P6+S6+V6)"
Range("Y6").Formula = FormulaInsertY
Ничего не выходит, все время выдает ошибку

И еще вопрос: если Вы сможете подсказать, как правильно осуществить вставку этой формулы, то посоветуйте заодно, как эту формулу вставить в конкретный диапазон (столбец) с изменением индексов ячеек, как это делает Excel при операциях copy/paste, т.е.
=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;"";M6+P6+ S6+V6)
=ЕСЛИ(СЧЁТ(M7;P7;S7;V7)=0;"";M7+P7+ S7+V7)
=ЕСЛИ(СЧЁТ(M8;P8;S8;V8)=0;"";M8+P8+ S8+V8)
...

Использование команды
Код:
Range("Y7").Formula = Range("Y7").Formula
не помогает - индексы не меняются.

Заранее благодарен за помощь,
с уважением,
Николай
NikolayGVB вне форума
Старый 22.01.2009, 13:54   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    'FormulaInsertY = "=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;" & Chr(34) & Chr(34) & ";M6+P6+S6+V6)"
    FormulaInsertY = "=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;"""";M6+P6+S6+V6)"
    
    'Debug.Print FormulaInsertY
    Range("d6").FormulaLocal = FormulaInsertY
End Sub
EducatedFool вне форума
Старый 22.01.2009, 14:18   #3
Юнлинг
Форумчанин
 
Регистрация: 17.10.2008
Сообщений: 239
По умолчанию

Цитата:
Сообщение от NikolayGVB Посмотреть сообщение

И еще вопрос: если Вы сможете подсказать, как правильно осуществить вставку этой формулы, то посоветуйте заодно, как эту формулу вставить в конкретный диапазон (столбец) с изменением индексов ячеек, как это делает Excel при операциях copy/paste, т.е.
=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;"";M6+P6+ S6+V6)
=ЕСЛИ(СЧЁТ(M7;P7;S7;V7)=0;"";M7+P7+ S7+V7)
=ЕСЛИ(СЧЁТ(M8;P8;S8;V8)=0;"";M8+P8+ S8+V8)
...

Использование команды
Код:
Range("Y7").Formula = Range("Y7").Formula
не помогает - индексы не меняются.

Заранее благодарен за помощь,
с уважением,
Николай
Попробуй так
Код:
Range("e2").Select
Selection.Copy
Range("e3").Select
ActiveSheet.Paste
где e2 что копируете
e3 куда копируете
Юнлинг вне форума
Старый 22.01.2009, 14:33   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
как эту формулу вставить в конкретный диапазон (столбец) с изменением индексов ячеек
Код:
Sub test()
    [d6].FormulaLocal = "=ЕСЛИ(СЧЁТ(M6;P6;S6;V6)=0;"""";M6+P6+S6+V6)"
    [d6].AutoFill [D6:D13]   ' растягиваем формулу на диапазон  D6:D13
    
    ' или так:
    [d13].Copy [e2:f6] ' копируем ячейку d13 (c формулой) в ячейки диапазона e2:f6
    ' при этом формула тоже корректно переносится
End Sub

Последний раз редактировалось EducatedFool; 22.01.2009 в 14:36.
EducatedFool вне форума
Старый 22.01.2009, 18:05   #5
NikolayGVB
Пользователь
 
Регистрация: 12.01.2009
Сообщений: 13
По умолчанию

Спасибо, дорогие Коллеги! Все работает!

С уважением,
Николай
NikolayGVB вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование сложных циклов FcDonalds Помощь студентам 2 24.12.2008 22:49
Turbo pascal 2-е сложных задачи GIGALIZE Помощь студентам 1 27.11.2008 21:57
Любителям сложных формул посвящается! ZORRO2005 Microsoft Office Excel 6 02.10.2008 20:01