Главная страница Microsoft Project УПРАВЛЕНИЕ ПРОЕКТАМИ
Спрашивайте! Наши эксперты ответят.
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

 
Для оперативного ответа рекомендуем задать вопрос в нашей группе Facebook
Более 11.000 человек уже в нашей группе по MS Project
На этом форуме запрещены ссылки, но они разрешены в группе Facebook
 
Подцепить значение НД в формулу
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов УПРАВЛЕНИЕ ПРОЕКТАМИ -> Разработка, программирование и интеграция MS Project
Предыдущая тема :: Следующая тема  
Автор Сообщение
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Чт, 17 Янв 2013, 10:48    Заголовок сообщения: Подцепить значение НД в формулу Ответить с цитатой

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

Может быть, отсутствие данных в ячейке в формуле отмечается каким-то особым образом?

Заранее спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Лазутов Сергей (RaraAvis)
Корпоративный Эксперт


Зарегистрирован: 04.10.2007
Сообщения: 2321
Откуда: Москва

СообщениеДобавлено: Чт, 17 Янв 2013, 12:06    Заголовок сообщения: Ответить с цитатой

Прочитайте в макросе значение этого поля (одна строка кода) и вы узнаете что писать в формуле
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Вт, 22 Янв 2013, 11:17    Заголовок сообщения: Ответить с цитатой

Цитата:
Прочитайте в макросе значение этого поля (одна строка кода) и вы узнаете что писать в формуле


Буду признателен, если подскажете - как это сделать Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vladimir Ivanov
Администратор Сайта


Зарегистрирован: 21.09.2003
Сообщения: 3534
Откуда: TurboProject.Ru

СообщениеДобавлено: Вт, 22 Янв 2013, 18:26    Заголовок сообщения: Ответить с цитатой

Формулу сделайте и приравняйте ее Число1 или Текст1 в зависимости какой тип вычисления вам нужен.

Вы увидите так как MSP понимает Н/Д в данном случае.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Maximkin
Практик


Зарегистрирован: 19.02.2012
Сообщения: 55

СообщениеДобавлено: Вт, 22 Янв 2013, 19:22    Заголовок сообщения: Ответить с цитатой

Само значение «НД» имеет тип string и возвращается полем (переменной) типа Variant. Для того, что бы узнать что возвращено полем необходимо проверить тип возвращаемого значения.(Так для поля Date такая проверка осуществляется оператором IsDate)
Пример
Dim mm As Date
Dim ss As String
If IsDate(ActiveProject.Tasks(1).ActualStart) Then
mm = ActiveProject.Tasks(1).ActualStart
Else
ss = ActiveProject.Tasks(1).ActualStart
End If
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Ср, 23 Янв 2013, 10:51    Заголовок сообщения: Ответить с цитатой

Наверное, будет проще вот так:

http://s51.radikal.ru/i133/1301/d6/f1d388e281a5.jpg

Крайний срок поставлен только у вехи, у остальных задач его нет. Он отображается как НД

http://s019.radikal.ru/i635/1301/d1/92a312b3ead2.jpg

Есть формула, в которой используется Крайний срок, и там, где его нет, MSP выдает ошибку.

Собственно, суть всей темы в том - как с этим разобраться. Мне просто нужно, чтобы я могу заменить значение #ОШИБКА так, чтобы в формулах, которые используют крайний срок, не было ошибки, и чтобы результат отражался в Суммарной задаче проекта

Сложность с макросами в том, что я не использовал их до этого, и не имею понятия, где писать тот код, о котором мне говорили выше. Спасибо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lizabee
Кандидат в MVP


Зарегистрирован: 27.04.2007
Сообщения: 362
Откуда: Москва

СообщениеДобавлено: Ср, 23 Янв 2013, 11:38    Заголовок сообщения: Ответить с цитатой

Если в формуле, то так:

Нужно использовать конструкцию ProjDateValue(”НД”).

Например, проверить, что в поле “Базовое окончание” нет даты можно условием IIf([Базовое окончание]=ProjDateValue(”НД”);<>;<>)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Ср, 23 Янв 2013, 13:07    Заголовок сообщения: Ответить с цитатой

lizabee писал(а):
Если в формуле, то так:

Нужно использовать конструкцию ProjDateValue(”НД”).

Например, проверить, что в поле “Базовое окончание” нет даты можно условием IIf([Базовое окончание]=ProjDateValue(”НД”);<>;<>)


Спасибо. Если я хочу соединить эту формулу с имеющейся - это делается через AND, или просто имеющаяся формула подставляется под одно из значений той, которую вы предложили?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Ср, 23 Янв 2013, 13:12    Заголовок сообщения: Ответить с цитатой

Разобрался, все работает, спасибо Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Ср, 23 Янв 2013, 13:52    Заголовок сообщения: Ответить с цитатой

И последний вопрос: можно ли в проджекте задать в качестве одного из результатов IIf - просто пустое поле?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lizabee
Кандидат в MVP


Зарегистрирован: 27.04.2007
Сообщения: 362
Откуда: Москва

СообщениеДобавлено: Ср, 23 Янв 2013, 13:54    Заголовок сообщения: Ответить с цитатой

Ogen812 писал(а):
И последний вопрос: можно ли в проджекте задать в качестве одного из результатов IIf - просто пустое поле?


Попробуйте "" или ''
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Ogen812
Практик


Зарегистрирован: 23.10.2012
Сообщения: 53

СообщениеДобавлено: Ср, 23 Янв 2013, 14:20    Заголовок сообщения: Ответить с цитатой

Цитата:
Попробуйте "" или ''


не идет, увы. Или выдает Ошибку, или какое-то числовое значение
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Maximkin
Практик


Зарегистрирован: 19.02.2012
Сообщения: 55

СообщениеДобавлено: Ср, 23 Янв 2013, 19:20    Заголовок сообщения: Ответить с цитатой

lizabee писал(а):
Если в формуле, то так:

Нужно использовать конструкцию ProjDateValue(”НД”).

Например, проверить, что в поле “Базовое окончание” нет даты можно условием IIf([Базовое окончание]=ProjDateValue(”НД”);<>;<>)


Думаю, что вот такая конструкция была бы проще
IIf( IsDate( [Крайний срок] ) ; если_истина; если_ложь )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Libra_by
Постоянный участник


Зарегистрирован: 17.09.2013
Сообщения: 11

СообщениеДобавлено: Вт, 17 Сен 2013, 11:12    Заголовок сообщения: Как MSP понимает Н/Д в формулах сравнения? Ответить с цитатой

Maximkin писал(а):
Само значение «НД» имеет тип string и возвращается полем (переменной) типа Variant. Для того, что бы узнать что возвращено полем необходимо проверить тип возвращаемого значения.(Так для поля Date такая проверка осуществляется оператором IsDate)


Попробовал IsDate("НД") - возвращает значение "Нет".
Если использовать ProjDateValue(”НД”) - выдает окошко ошибки синтаксиса и подсвечивает в формуле "НД".

Помогите, ибо хочу написать формулу со сравнениями "если есть фактическое начало, то <>, иначе <>".

На формулу IIf([Фактическое начало]<>"Нет";"+";"-") - выдает, где нет фактического начала, #Ошибка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
raner
Профи


Зарегистрирован: 03.11.2011
Сообщения: 185

СообщениеДобавлено: Вт, 17 Сен 2013, 12:10    Заголовок сообщения: Ответить с цитатой

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов УПРАВЛЕНИЕ ПРОЕКТАМИ -> Разработка, программирование и интеграция MS Project Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

© 2003 - 2009, Портал MicrosoftProject.ru. Все права защищены.