Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Функция IFF - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция IFF (Макросы Sub)
Функция IFF
VanBlack Дата: Суббота, 26.10.2013, 23:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
Как правильно прописать строку в макросе?
Условия: если пол (pol) равен м и возраст (v1) больше 19, то "мужчины"; если пол (pol) равен ж и возраст (v1) больше 19, то "женщины".
Строка с половиной условия (если пол (pol) равен м) выглядела так:
GrVozr2 = IIf(pol = "м", "мужчины", pol & "," & Str(v1) & " -" & Str(v2 - 1) & " лет")
А как прописать, чтобы выполнялось условие полностью (если пол (pol) равен м и возраст (v1) больше 19, то "мужчины")? Это нужно для соревнований, и если возраст меньше 19 то категория уже другая (юниоры, юноши, и т.д.).
 
Ответить
СообщениеКак правильно прописать строку в макросе?
Условия: если пол (pol) равен м и возраст (v1) больше 19, то "мужчины"; если пол (pol) равен ж и возраст (v1) больше 19, то "женщины".
Строка с половиной условия (если пол (pol) равен м) выглядела так:
GrVozr2 = IIf(pol = "м", "мужчины", pol & "," & Str(v1) & " -" & Str(v2 - 1) & " лет")
А как прописать, чтобы выполнялось условие полностью (если пол (pol) равен м и возраст (v1) больше 19, то "мужчины")? Это нужно для соревнований, и если возраст меньше 19 то категория уже другая (юниоры, юноши, и т.д.).

Автор - VanBlack
Дата добавления - 26.10.2013 в 23:49
doober Дата: Воскресенье, 27.10.2013, 01:46 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
.................................




Сообщение отредактировал doober - Воскресенье, 27.10.2013, 01:50
 
Ответить
Сообщение.................................

Автор - doober
Дата добавления - 27.10.2013 в 01:46
nilem Дата: Воскресенье, 27.10.2013, 08:08 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
.........................................


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Воскресенье, 27.10.2013, 11:36
 
Ответить
Сообщение.........................................

Автор - nilem
Дата добавления - 27.10.2013 в 08:08
Poltava Дата: Воскресенье, 27.10.2013, 21:46 | Сообщение № 4
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

.........................................


Сообщение отредактировал Poltava - Воскресенье, 27.10.2013, 22:24
 
Ответить
Сообщение.........................................

Автор - Poltava
Дата добавления - 27.10.2013 в 21:46
KuklP Дата: Воскресенье, 27.10.2013, 22:24 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
.........................................


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 27.10.2013, 22:26
 
Ответить
Сообщение.........................................

Автор - KuklP
Дата добавления - 27.10.2013 в 22:24
Poltava Дата: Воскресенье, 27.10.2013, 22:26 | Сообщение № 6
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

.........................................


Сообщение отредактировал Poltava - Воскресенье, 27.10.2013, 22:26
 
Ответить
Сообщение.........................................

Автор - Poltava
Дата добавления - 27.10.2013 в 22:26
VanBlack Дата: Понедельник, 28.10.2013, 03:28 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
Что вы все как рыбы об лёд ...................................? Что это значит?
 
Ответить
СообщениеЧто вы все как рыбы об лёд ...................................? Что это значит?

Автор - VanBlack
Дата добавления - 28.10.2013 в 03:28
Матраскин Дата: Понедельник, 28.10.2013, 09:25 | Сообщение № 8
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
VanBlack, у них какая-то обидка на Вас yes


в интернете опять кто-то не прав
 
Ответить
СообщениеVanBlack, у них какая-то обидка на Вас yes

Автор - Матраскин
Дата добавления - 28.10.2013 в 09:25
Alex_ST Дата: Понедельник, 28.10.2013, 13:39 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата Матраскин, 28.10.2013 в 09:25, в сообщении № 8
у них какая-то обидка на Вас

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



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата Матраскин, 28.10.2013 в 09:25, в сообщении № 8
у них какая-то обидка на Вас

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

Автор - Alex_ST
Дата добавления - 28.10.2013 в 13:39
VanBlack Дата: Понедельник, 28.10.2013, 16:06 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
Может быть, посмотрев, за что Вам репутацию загнали в минус, Вы сможете понять почему Вас игнорируют?
Но, даже не зная подробностей конфликта, вряд ли кто-нибудь здесь будет Вам далее помогать, увидев, какие уважаемые на форуме люди Вам поставили минусы и стёрли свои ответы.

Людям свойственно ошибаться, особенно из-за поспешных выводов. Загнали в минус не обоснованно. В основном, из-за того что я не отвечал. Не отвечал, потому что не было уведомлений что кто-то добавил сообщение в теме, как на других сайтах, поэтому я и не знал о них. Уведомления с этого сайта почему-то приходят только если добавляется личное сообщение.
Хорошо не на всех форумах люди такие не обоснованно-обидчивые...
Ответ на мой вопрос, даже больше чем я просил (учтены все возрастные категории), если кому интересно:
[vba]
Код
Select Case v1
Case Is > 18
If pol = "м" Then GrVozr2 = "мужчины" Else GrVozr2 = "женщины"
Case Is > 16
If pol = "м" Then GrVozr2 = "юниоры 17-18 лет" Else GrVozr2 = "юниорки 17-18 лет"
Case Is > 14
If pol = "м" Then GrVozr2 = "кадеты 15-16 лет" Else GrVozr2 = "кадетки 15-16 лет"
Case Is > 12
If pol = "м" Then GrVozr2 = "юноши 13-14 лет" Else GrVozr2 = "девушки 13-14 лет"
Case Is > 10
If pol = "м" Then GrVozr2 = "м. юноши 11-12 лет" Else GrVozr2 = "м. девушки 11-12 лет"
Case Else
If pol = "м" Then GrVozr2 = "мальчики 9-10 лет" Else GrVozr2 = "девочки 9-10 лет"
End Select
[/vba]
Не везде хотят только заработать... К счастью, есть ещё добрые люди, оказывающие помощь безвозмездно, т.е. не требующие ничего взамен.
 
Ответить
Сообщение
Может быть, посмотрев, за что Вам репутацию загнали в минус, Вы сможете понять почему Вас игнорируют?
Но, даже не зная подробностей конфликта, вряд ли кто-нибудь здесь будет Вам далее помогать, увидев, какие уважаемые на форуме люди Вам поставили минусы и стёрли свои ответы.

Людям свойственно ошибаться, особенно из-за поспешных выводов. Загнали в минус не обоснованно. В основном, из-за того что я не отвечал. Не отвечал, потому что не было уведомлений что кто-то добавил сообщение в теме, как на других сайтах, поэтому я и не знал о них. Уведомления с этого сайта почему-то приходят только если добавляется личное сообщение.
Хорошо не на всех форумах люди такие не обоснованно-обидчивые...
Ответ на мой вопрос, даже больше чем я просил (учтены все возрастные категории), если кому интересно:
[vba]
Код
Select Case v1
Case Is > 18
If pol = "м" Then GrVozr2 = "мужчины" Else GrVozr2 = "женщины"
Case Is > 16
If pol = "м" Then GrVozr2 = "юниоры 17-18 лет" Else GrVozr2 = "юниорки 17-18 лет"
Case Is > 14
If pol = "м" Then GrVozr2 = "кадеты 15-16 лет" Else GrVozr2 = "кадетки 15-16 лет"
Case Is > 12
If pol = "м" Then GrVozr2 = "юноши 13-14 лет" Else GrVozr2 = "девушки 13-14 лет"
Case Is > 10
If pol = "м" Then GrVozr2 = "м. юноши 11-12 лет" Else GrVozr2 = "м. девушки 11-12 лет"
Case Else
If pol = "м" Then GrVozr2 = "мальчики 9-10 лет" Else GrVozr2 = "девочки 9-10 лет"
End Select
[/vba]
Не везде хотят только заработать... К счастью, есть ещё добрые люди, оказывающие помощь безвозмездно, т.е. не требующие ничего взамен.

Автор - VanBlack
Дата добавления - 28.10.2013 в 16:06
Serge_007 Дата: Понедельник, 28.10.2013, 16:14 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Не отвечал, потому что не было уведомлений что кто-то добавил сообщение в теме, как на других сайтах
А галку Уведомления на e-mail при ответах поставить? Это, между прочим, в FAQ есть:
http://www.excelworld.ru/faq/mail_report_main/1-0-10
http://www.excelworld.ru/faq/mail_report_all/1-0-11

Про оформление кодов тегами есть в правилах

Я понимаю что Вы ничего не читали, ни правил, ни частые вопросы, но на это
есть ещё добрые люди, оказывающие помощь безвозмездно
скажу: бесплатные разделы полистайте и посмотрите скольким и кто БЕЗВОЗДМЕЗНО помогает


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Не отвечал, потому что не было уведомлений что кто-то добавил сообщение в теме, как на других сайтах
А галку Уведомления на e-mail при ответах поставить? Это, между прочим, в FAQ есть:
http://www.excelworld.ru/faq/mail_report_main/1-0-10
http://www.excelworld.ru/faq/mail_report_all/1-0-11

Про оформление кодов тегами есть в правилах

Я понимаю что Вы ничего не читали, ни правил, ни частые вопросы, но на это
есть ещё добрые люди, оказывающие помощь безвозмездно
скажу: бесплатные разделы полистайте и посмотрите скольким и кто БЕЗВОЗДМЕЗНО помогает

Автор - Serge_007
Дата добавления - 28.10.2013 в 16:14
AndreTM Дата: Понедельник, 28.10.2013, 19:53 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
VanBlack, вообще-то такой выбор обычно не прописывается прямо в макросе (мало ли, количество возрастных групп изменится). И даже в таком виде, размер кода избыточен (дописывание цифр возраста можно сделать так: GrVozr2 = IIf(pol = "м", "юниоры", "юниорки") & " 17-18 лет")

[p.s.]А приведённый там код - это то, что вам сделали или код от RAN?[/p.s.]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеVanBlack, вообще-то такой выбор обычно не прописывается прямо в макросе (мало ли, количество возрастных групп изменится). И даже в таком виде, размер кода избыточен (дописывание цифр возраста можно сделать так: GrVozr2 = IIf(pol = "м", "юниоры", "юниорки") & " 17-18 лет")

[p.s.]А приведённый там код - это то, что вам сделали или код от RAN?[/p.s.]

Автор - AndreTM
Дата добавления - 28.10.2013 в 19:53
VanBlack Дата: Понедельник, 28.10.2013, 23:57 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
А галку Уведомления на e-mail при ответах поставить?

Виноват, каюсь, просто на других форумах я не ставил никаких галок, но уведомления приходили всегда. Видно там она стоит по умолчанию, что является более правильным. Зачем создавать тему и не быть в курсе событий? Поэтому я и не заходил, так как считал что ответов нет, иначе меня бы уведомили.
скажу: бесплатные раздел полистайте и посмотрите скольким и кто БЕЗВОЗДМЕЗНО помогает

Не спорю, но меня при первой же просьбе о помощи в бесплатном разделе отправили сразу же на фриланс, тыкнув, что путаю понятия "помогите" и "сделайте за меня". Хотя в принципе, любая помощь, это и есть работа сделанная за тебя, полностью или частично.

вообще-то такой выбор обычно не прописывается прямо в макросе (мало ли, количество возрастных групп изменится)

К этому коду приходится прибегать когда уже всё закончилось и ничего не изменится, чтобы вывести протокол хода соревнований. Он работает и меня устраивает как. А за ваш вариант спасибо. Надо будет попробовать.
Тот код не от RAN. Как раз с ним мы вели переговоры. Он запросил за него 1000 р., но его немного опередили. На другом форуме помогли, предложив свой вариант. Именно помогли, безвозмездно, не тыча на всякие понятия... Я не против оплаты, если помощь действительно занимает много времени. Мне несколько раз помогали в более серьёзных вопросах, и я сам после предлагал как-то компенсировать затраты в знак благодарности, но человек отказался, не видя в этом необходимости.
 
Ответить
Сообщение
А галку Уведомления на e-mail при ответах поставить?

Виноват, каюсь, просто на других форумах я не ставил никаких галок, но уведомления приходили всегда. Видно там она стоит по умолчанию, что является более правильным. Зачем создавать тему и не быть в курсе событий? Поэтому я и не заходил, так как считал что ответов нет, иначе меня бы уведомили.
скажу: бесплатные раздел полистайте и посмотрите скольким и кто БЕЗВОЗДМЕЗНО помогает

Не спорю, но меня при первой же просьбе о помощи в бесплатном разделе отправили сразу же на фриланс, тыкнув, что путаю понятия "помогите" и "сделайте за меня". Хотя в принципе, любая помощь, это и есть работа сделанная за тебя, полностью или частично.

вообще-то такой выбор обычно не прописывается прямо в макросе (мало ли, количество возрастных групп изменится)

К этому коду приходится прибегать когда уже всё закончилось и ничего не изменится, чтобы вывести протокол хода соревнований. Он работает и меня устраивает как. А за ваш вариант спасибо. Надо будет попробовать.
Тот код не от RAN. Как раз с ним мы вели переговоры. Он запросил за него 1000 р., но его немного опередили. На другом форуме помогли, предложив свой вариант. Именно помогли, безвозмездно, не тыча на всякие понятия... Я не против оплаты, если помощь действительно занимает много времени. Мне несколько раз помогали в более серьёзных вопросах, и я сам после предлагал как-то компенсировать затраты в знак благодарности, но человек отказался, не видя в этом необходимости.

Автор - VanBlack
Дата добавления - 28.10.2013 в 23:57
Serge_007 Дата: Вторник, 29.10.2013, 00:11 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
на других форумах я не ставил никаких галок, но уведомления приходили всегда
Интересно, что за форумы? В рунете таковых нет


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
на других форумах я не ставил никаких галок, но уведомления приходили всегда
Интересно, что за форумы? В рунете таковых нет

Автор - Serge_007
Дата добавления - 29.10.2013 в 00:11
VanBlack Дата: Вторник, 29.10.2013, 00:19 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
В рунете таковых нет

Неправда, просто при создании темы там в окне "Подписка на тему" в пункте "Методы оповещения" по умолчанию стоит - "Моментальное уведомление по электронной почте". Что кстати, неплохо бы сделать и здесь.
 
Ответить
Сообщение
В рунете таковых нет

Неправда, просто при создании темы там в окне "Подписка на тему" в пункте "Методы оповещения" по умолчанию стоит - "Моментальное уведомление по электронной почте". Что кстати, неплохо бы сделать и здесь.

Автор - VanBlack
Дата добавления - 29.10.2013 в 00:19
AndreTM Дата: Вторник, 29.10.2013, 02:03 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Что кстати, неплохо бы сделать и здесь.
Ну так и сделайте - Сергей же сказал, как. Раз это нужно именно вам. Другим, возможно, не нужно.
Вы не задумываетесь о том, что если достаточно посещаемый форум начнёт массово производить рассылку писем, да ещё и с одного адреса - почтовики воспримут это как спам? :D

Тот код не от RAN. Как раз с ним мы вели переговоры. Он запросил
Ну, мне просто надо было убедиться. Потому что на тот код хотелось немного поругаться, а он был опубликован без указания авторства. Обижать же не хочется никого. А там просто имеется несколько огрехов (может быть, незаметных на первый взгляд, но могущих стать принципиальными) - чего в "платном" коде обычно стараются не допускать. Или оперативно устранять...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Что кстати, неплохо бы сделать и здесь.
Ну так и сделайте - Сергей же сказал, как. Раз это нужно именно вам. Другим, возможно, не нужно.
Вы не задумываетесь о том, что если достаточно посещаемый форум начнёт массово производить рассылку писем, да ещё и с одного адреса - почтовики воспримут это как спам? :D

Тот код не от RAN. Как раз с ним мы вели переговоры. Он запросил
Ну, мне просто надо было убедиться. Потому что на тот код хотелось немного поругаться, а он был опубликован без указания авторства. Обижать же не хочется никого. А там просто имеется несколько огрехов (может быть, незаметных на первый взгляд, но могущих стать принципиальными) - чего в "платном" коде обычно стараются не допускать. Или оперативно устранять...

Автор - AndreTM
Дата добавления - 29.10.2013 в 02:03
VanBlack Дата: Вторник, 29.10.2013, 02:53 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
там просто имеется несколько огрехов (может быть, незаметных на первый взгляд, но могущих стать принципиальными) - чего в "платном" коде обычно стараются не допускать. Или оперативно устранять...

...ну укажите их, если это не трудно! Не хочется никого обижать, - укажите в личке.
 
Ответить
Сообщение
там просто имеется несколько огрехов (может быть, незаметных на первый взгляд, но могущих стать принципиальными) - чего в "платном" коде обычно стараются не допускать. Или оперативно устранять...

...ну укажите их, если это не трудно! Не хочется никого обижать, - укажите в личке.

Автор - VanBlack
Дата добавления - 29.10.2013 в 02:53
AndreTM Дата: Вторник, 29.10.2013, 04:20 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Ну, давайте посмотрим...


- Sheets("Протокол поединков"). относится к ActiveWorkbook. Таким образом, возможна ситуация, когда коллекция воспримет в качестве родителя не ту книгу.
- Наименование листа "Протокол поединков" используется несколько раз - можно вынести в переменную или параметр. Кроме того, как указано выше, обращение к листу прописано неоднозначно - вынести требуется именно объект-лист.
- Sheets("Протокол поединков").Cells.Clear очищает всё содержимое, включая форматирование. Таким образом, после генерации протокола - придется производить дополнительное форматирование. Сюда же относится и перенос данных, начиная с первой строки листа-получателя - ведь, возможно, придется вставлять заголовок и т.д.
- Условие If InStr(1, Sh.Name, "(") > 0 Then определяет лист с открывающей круглой скобкой в наименовании. В то же время, ТС указал: "имена которых содержат скобки", т.е. должна быть и закрывающая (причем, возможно, пАрная :) ).
- Не произведено отключение .ScreenUpdating на время заполнения листа-получателя.
- Возможно, исходные данные содержат формулы. Мало того, что на время копирования не отключен автоперерасчёт - можно было копировать в лист-получатель только значения, ведь мы строим отчёт. Хотя здесь нет однозначности - возможно, ТС хотел получить протокол именно со связанными ссылками.
- Ну и можно было бы также вынести в переменную копируемый диапазон, контролировать значение i, etc... Но это я уже придираюсь :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Вторник, 29.10.2013, 04:21
 
Ответить
СообщениеНу, давайте посмотрим...


- Sheets("Протокол поединков"). относится к ActiveWorkbook. Таким образом, возможна ситуация, когда коллекция воспримет в качестве родителя не ту книгу.
- Наименование листа "Протокол поединков" используется несколько раз - можно вынести в переменную или параметр. Кроме того, как указано выше, обращение к листу прописано неоднозначно - вынести требуется именно объект-лист.
- Sheets("Протокол поединков").Cells.Clear очищает всё содержимое, включая форматирование. Таким образом, после генерации протокола - придется производить дополнительное форматирование. Сюда же относится и перенос данных, начиная с первой строки листа-получателя - ведь, возможно, придется вставлять заголовок и т.д.
- Условие If InStr(1, Sh.Name, "(") > 0 Then определяет лист с открывающей круглой скобкой в наименовании. В то же время, ТС указал: "имена которых содержат скобки", т.е. должна быть и закрывающая (причем, возможно, пАрная :) ).
- Не произведено отключение .ScreenUpdating на время заполнения листа-получателя.
- Возможно, исходные данные содержат формулы. Мало того, что на время копирования не отключен автоперерасчёт - можно было копировать в лист-получатель только значения, ведь мы строим отчёт. Хотя здесь нет однозначности - возможно, ТС хотел получить протокол именно со связанными ссылками.
- Ну и можно было бы также вынести в переменную копируемый диапазон, контролировать значение i, etc... Но это я уже придираюсь :D

Автор - AndreTM
Дата добавления - 29.10.2013 в 04:20
VanBlack Дата: Вторник, 29.10.2013, 11:13 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
Ну, давайте посмотрим...

Спасибо за такой подробный коментарий! От души! Я сначала подумал (в сообщении №16) вы меня подкалываете...
Давайте по порядку:
возможна ситуация, когда коллекция воспримет в качестве родителя не ту книгу

Думаю не так критично, т.к. работа будет производится в одной книге...
2-е, 3-е, 4-е и 5-е: по этим пунктам вроде проблем не возникало... Если возникнут, - обращусь именно к вам, если вы конечно не против... :-)
Возможно, исходные данные содержат формулы. Мало того, что на время копирования не отключен автоперерасчёт - можно было копировать в лист-получатель только значения, ведь мы строим отчёт. Хотя здесь нет однозначности - возможно, ТС хотел получить протокол именно со связанными ссылками

А вот по этому пункту действительно возникает проблемка, я сначала подумал что сам чего-то накосячил... Копируемые листы содержат формулы и в протоколе отображаются не верные значения. Хотя, как я понял, это касается только формул с абсолютными величинами (например =ЕСЛИ(B4<>"";СУММПРОИЗВ(($B$41:$L$74=B4)*($C$41:$M$74=1));""). Формулы с относительными величинами при копировании изменяются и значения в протоколе отображаются нормально. Попробую поменять абсолютные величины на относительные и посмотрю на результат. Если вы могли бы поправить, чтобы копировалось всё, кроме формул, - было бы здо'рово. Я бы конечно и сам поправил, - если бы знал как... :-)
Ну и можно было бы также вынести в переменную копируемый диапазон, контролировать значение i, etc...

По этому пункту я не совсем понял, для чего это, и как это может подпортить результаты протокола? Поясните, если можно...
 
Ответить
Сообщение
Ну, давайте посмотрим...

Спасибо за такой подробный коментарий! От души! Я сначала подумал (в сообщении №16) вы меня подкалываете...
Давайте по порядку:
возможна ситуация, когда коллекция воспримет в качестве родителя не ту книгу

Думаю не так критично, т.к. работа будет производится в одной книге...
2-е, 3-е, 4-е и 5-е: по этим пунктам вроде проблем не возникало... Если возникнут, - обращусь именно к вам, если вы конечно не против... :-)
Возможно, исходные данные содержат формулы. Мало того, что на время копирования не отключен автоперерасчёт - можно было копировать в лист-получатель только значения, ведь мы строим отчёт. Хотя здесь нет однозначности - возможно, ТС хотел получить протокол именно со связанными ссылками

А вот по этому пункту действительно возникает проблемка, я сначала подумал что сам чего-то накосячил... Копируемые листы содержат формулы и в протоколе отображаются не верные значения. Хотя, как я понял, это касается только формул с абсолютными величинами (например =ЕСЛИ(B4<>"";СУММПРОИЗВ(($B$41:$L$74=B4)*($C$41:$M$74=1));""). Формулы с относительными величинами при копировании изменяются и значения в протоколе отображаются нормально. Попробую поменять абсолютные величины на относительные и посмотрю на результат. Если вы могли бы поправить, чтобы копировалось всё, кроме формул, - было бы здо'рово. Я бы конечно и сам поправил, - если бы знал как... :-)
Ну и можно было бы также вынести в переменную копируемый диапазон, контролировать значение i, etc...

По этому пункту я не совсем понял, для чего это, и как это может подпортить результаты протокола? Поясните, если можно...

Автор - VanBlack
Дата добавления - 29.10.2013 в 11:13
VanBlack Дата: Вторник, 29.10.2013, 11:30 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: -28 ±
Замечаний: 0% ±

Excel 2007
Попробую поменять абсолютные величины на относительные и посмотрю на результат
Да, проблема возникала из-за формул с абсолютными величинами... Исправил на относительные - всё стало отображаться нормально.
 
Ответить
Сообщение
Попробую поменять абсолютные величины на относительные и посмотрю на результат
Да, проблема возникала из-за формул с абсолютными величинами... Исправил на относительные - всё стало отображаться нормально.

Автор - VanBlack
Дата добавления - 29.10.2013 в 11:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Функция IFF (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!