Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 95
1

Что не так в макросе?

25.10.2013, 16:24. Просмотров 447. Ответов 1
Метки нет (Все метки)

На листе "Список по группам" при нажатии кнопки "Сформировать группы" участники с листа "Список" разбиваются на группы по возрасту и весу, а так же в столбце "N" отображаются параметры пол, возраст, а в столбце "O" - вес.
В макросе заданы такие условия для GrVes2:
Visual Basic
1
2
3
4
GrVes2 = IIf(Ves2 = 120, "св. 60", "до" & Str(Fix(Ves2))) & " кг"
GrVes2 = IIf(Ves2 = 140, "св. 70", "до" & Str(Fix(Ves2))) & " кг"
GrVes2 = IIf(Ves2 = 160, "св. 80", "до" & Str(Fix(Ves2))) & " кг"
GrVes2 = IIf(Ves2 = 180, "св. 90", "до" & Str(Fix(Ves2))) & " кг"
но срабатывает только последнее. Что нужно изменить, чтобы все условия срабатывали?
0
Вложения
Тип файла: rar Программа соревнований4.rar (194.0 Кб, 7 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2013, 16:24
Ответы с готовыми решениями:

Подскажите что в макросе не так?
С нелегким вопросом обращаюсь за помощью, не пойму где засела ошибка : If InStr(b(m, 3),...

Как написать условия в макросе так, чтобы диаграмма не меняла своего типа
Друзья. Задача такая, у меня есть макрос: For i = 1 To 65000 If...

Что значит запись в макросе
#define MAX(x,y) (x > y ? x : y) Собсно,макрос,который находит наибольшее число. Вначале идёт...

что значит L##x в макросе #define _T(x) L##x?
и что значит выражение #define X почему отсутствует второй параметр? Заранее спасибо за...

1
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 95
26.10.2013, 02:48  [ТС] 2
Надо же, - сам догадался:
Visual Basic
1
GrVes2 = IIf(Ves2 = 120, "св. 60", IIf(Ves2 = 140, "св. 70", IIf(Ves2 = 160, "св. 80", IIf(Ves2 = 180, "св. 90", "до" & Str(Fix(Ves2)))))) & " кг"
Добавлено через 9 часов 41 минуту
Аналогичный вопрос: как изменить строку в том же макросе для "GrVozr2"?
Условия такие: если пол равен м и возраст 1 больше 18, то "мужчины"; если пол равен ж и возраст 1 больше 18, то "женщины".
В этой строке:
Visual Basic
1
GrVozr2 = pol & "," & IIf(v1 = 0, " 9 -" & Str(v2), Str(v1) & " -" & Str(v2 - 1)) & " лет"
я изменил на:
Visual Basic
1
GrVozr2 = pol & "," & IIf(v1 = 0, " 9 -" & Str(v2), IIf(v1 > 18, "мужчины",  Str(v1) & " -" & Str(v2 - 1))) & " лет"
, а как условие
Visual Basic
1
IIf(v1 > 18, "мужчины"
связать с полом не понимаю... Пробовал
Visual Basic
1
IIf(pol = "м" & v1 > 18, "мужчины"
, - не проходит. Как прописать правильно?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2013, 02:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка в макросе. Что делать?
один и тот же макрос в одном файле работает, в другом выдает ошибку, не понимаю почему. Макрос...

Что нужно задать в макросе при условии отбора?
У меня есть запрос Сведения о читателях, я хочу, чтобы при нажатии кнопки Б в Form1 у меня...

Что означает слова LARGE, INDEX, MATCH в макросе?
Sub Макрос1() Range("b1:b3").FormulaArray = _...

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.