0 / 0 / 0
Регистрация: 21.05.2019
Сообщений: 27

Оператор if then else и вложенный цикл

23.10.2019, 15:32. Показов 3759. Ответов 6

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите пожалуйста,почему не работает оператор if then else
У меня есть таблица,в которой пользователь должен выбрать активную ячейку,чтобы начиная с неё автоматически вставились указанные мной формулы.Но при этом ячейка должна пройти проверку,чтобы формулы в смежных ячейках не были случайно заменены. Если ячейка выбрана верна,вставится формула,а наоборот пользователь должен увидеть всплывающее окно,что ячейка выбрана неверно
Но моя функция if then else не работает
Код во вложении
Спасибо
Вложения
Тип файла: txt код.txt (1.3 Кб, 4 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2019, 15:32
Ответы с готовыми решениями:

Re: Вложенный в цикл условный оператор
Опс, точно не ту надпись нажал :) речь о mathcad, если есть возможность, то перекиньте пожалуйста куда надо

Вложенный в цикл условный оператор
Форумчане, может вопрос и совсем простой, но вот уже битый час гуглю безрезультатно. На все найденные варианты mathcad ругается, видимо...

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт перебор массива. Внутри цикла есть...

6
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
23.10.2019, 15:39
Next пропущен:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
e = ActiveCell.Row
r = ActiveCell.Column
t = "=RIGHT(9,r)"
If (t = "Дт (запуск) Факт Дт" And Cells(e, 8) = "Основные сырье и материалы") Then
For m = 0 To 6
ActiveCell.Offset(m, 0).FormulaR1C1 = "=IF(RC8=""Общепроизводственные расходы"",SUMIFS([ведомость.xlsx]TDSheet!C15,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)+RC[1]-RC[-2],SUMIFS([ведомость.xlsx]TDSheet!C7,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8))"
ActiveCell.Offset(m, 1).FormulaR1C1 = "=RC[1]+RC[2]+RC[3]"
ActiveCell.Offset(m, 2).FormulaR1C1 = "=IF(RC8=""Общепроизводственные расходы"",IF((SUMIFS([ведомость.xlsx]TDSheet!C9,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)-RC[1]-RC[2])<=0,0,SUMIFS([ведомость.xlsx]TDSheet!C9,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)-RC[1]-RC[2]),SUMIFS([ведомость.xlsx]TDSheet!C9,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)-RC[1]-RC[2])"
ActiveCell.Offset(m, 3).FormulaR1C1 = "=SUMIFS([ведомость.xlsx]TDSheet!C11,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)"
ActiveCell.Offset(m, 4).FormulaR1C1 = "=SUMIFS([ведомость.xlsx]TDSheet!C13,[ведомость.xlsx]TDSheet!C1,RC1,[ведомость.xlsx]TDSheet!C3,RC8)"
ActiveCell.Offset(m, 5).FormulaR1C1 = "=RC[-1]"
Next m
Else
MsgBox ("выбрана неверная ячейка")
End If
1
0 / 0 / 0
Регистрация: 21.05.2019
Сообщений: 27
23.10.2019, 15:52  [ТС]
Спасибо. Но ничего не изменилось
0
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
23.10.2019, 16:10
Выдает ошибку?
0
1846 / 1161 / 354
Регистрация: 11.07.2014
Сообщений: 4,105
23.10.2019, 16:11
Цитата Сообщение от Ki-olya Посмотреть сообщение
Но моя функция if then else не работает
во-первых это не ваша функция, а условный оператор, который работает у миллионов программистов, а вот у вас ....
во-вторых, вы приводите кусок кода и почему-то считаете, что ошибка в этом куске, а она может быть наведенная другими операторами, например, есть With, а End With пропущено.
в-третьих, неясно какая ошибка, то ли неправильно считает, то ли синтаксическая, и где.
0
371 / 269 / 93
Регистрация: 18.11.2015
Сообщений: 1,001
23.10.2019, 16:13
у Вас t = "=RIGHT(9,r)" девять символов справа, а сравниваете:
t = "Дт (запуск) Факт Дт"
Условие не выполняется
1
0 / 0 / 0
Регистрация: 21.05.2019
Сообщений: 27
23.10.2019, 16:21  [ТС]
Нет,код не вставлял формулы с помощью цикла
У меня в самом коде были пробелы между циклами,которые я удалила и все заработало.
И да,спасибо за функцию right,я поправила и условие if заработало
Всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2019, 16:21
Помогаю со студенческими работами здесь

Как переделать данный цикл for во вложенный цикл foreach?
Добрый день, как переделать данный цикл во вложенный цикл foreach? for (i in 0 until fieldPos.size) { for (j in 0...

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

Цикл for вложенный в другой цикл for
Не могу разобраться с механизмом работы цикла вложенного в другой цикл. Конечный результат 499500. Никак не могу понять как получается...

Вложенный цикл FOR
Подскажите, пожалуйста, что нужно сделать! Выведите числовой квадрат заданного размера. Выведенные числа начинаются с единицы и...

Вложенный цикл.
Напечатать полную таблицу сложения в виде: 1+1=2 2+1=3 ... 9+1=10 1+2=3 2+2=4 ... 9+2=11 ... ... ... ... ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru