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

Вход

Регистрация

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

 

= Мир MS Excel/Сверка системной даты в колонтитулах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Сверка системной даты в колонтитулах
Ania999 Дата: Пятница, 10.01.2014, 17:00 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

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

P.S. Это не единственная моя проблемная задача :(
К сообщению приложен файл: Doc1.docm (27.5 Kb)
 
Ответить
СообщениеВсем добрый день!Суть задачи. в том, что макрос должен осуществлять поиск даты, формата "месяц год", в колонтитулах документа. С поиском справилась :) , а вот дальнейшее сравнение с системной датой не получается.Из-за формата даты. в нем отсутствует день.Пример к тесту прикрепила(...Очень нужна помощь, так как сроки выполнения всех задач поджимают.

P.S. Это не единственная моя проблемная задача :(

Автор - Ania999
Дата добавления - 10.01.2014 в 17:00
AndreTM Дата: Пятница, 10.01.2014, 18:19 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Попробуйте
[vba]
Код
        c = CDate("1 " & Selection.Text)
         b = DateSerial(Year(Date), Month(Date), 1)
[/vba]
Я так и не не понял сути использования a = Mid(Selection.Text, 1, Len(Selection.Text)) :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеПопробуйте
[vba]
Код
        c = CDate("1 " & Selection.Text)
         b = DateSerial(Year(Date), Month(Date), 1)
[/vba]
Я так и не не понял сути использования a = Mid(Selection.Text, 1, Len(Selection.Text)) :)

Автор - AndreTM
Дата добавления - 10.01.2014 в 18:19
_Boroda_ Дата: Пятница, 10.01.2014, 18:37 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Посмотрите такой вариант. Я с Вордовскими макросами не особо, поэтому сделал немного через одно место, но работает вроде.

Да, про МИД я тоже не понял
К сообщению приложен файл: Doc1_1.docm (27.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПосмотрите такой вариант. Я с Вордовскими макросами не особо, поэтому сделал немного через одно место, но работает вроде.

Да, про МИД я тоже не понял

Автор - _Boroda_
Дата добавления - 10.01.2014 в 18:37
Ania999 Дата: Пятница, 10.01.2014, 19:17 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое за помощь! :)
Действительно та строка лишняя, у меня была немного другая задача, до этого, преобразовывать дату числовую в текстовый формат.
Единственно не пойму, села продливать возможные варианты дат. Тоесть, в колонтитуле может же быть разный месяц.Он при переборе добавляет всегда еще одну букву к месяцу :(
 
Ответить
СообщениеСпасибо большое за помощь! :)
Действительно та строка лишняя, у меня была немного другая задача, до этого, преобразовывать дату числовую в текстовый формат.
Единственно не пойму, села продливать возможные варианты дат. Тоесть, в колонтитуле может же быть разный месяц.Он при переборе добавляет всегда еще одну букву к месяцу :(

Автор - Ania999
Дата добавления - 10.01.2014 в 19:17
Ania999 Дата: Воскресенье, 12.01.2014, 20:47 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ребят откликнитесь пожалуйста очень надо :( :(
 
Ответить
СообщениеРебят откликнитесь пожалуйста очень надо :( :(

Автор - Ania999
Дата добавления - 12.01.2014 в 20:47
AndreTM Дата: Воскресенье, 12.01.2014, 21:15 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
очень надо
И что же надо? Из ваших слов вообще ничего не понятно - что вы делаете, что получается, что не получилось, что хотите получить... А фразу
Он при переборе добавляет всегда еще одну букву к месяцу
я вообще не понял, как интерпретировать... Ваш муж хитровывернуто посылает месяц на одну букву, как переберёт водочки? :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
очень надо
И что же надо? Из ваших слов вообще ничего не понятно - что вы делаете, что получается, что не получилось, что хотите получить... А фразу
Он при переборе добавляет всегда еще одну букву к месяцу
я вообще не понял, как интерпретировать... Ваш муж хитровывернуто посылает месяц на одну букву, как переберёт водочки? :D

Автор - AndreTM
Дата добавления - 12.01.2014 в 21:15
Ania999 Дата: Воскресенье, 12.01.2014, 21:29 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
:)
Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной.
Изначально была проблема с форматом системной даты. Макрос подправили и он начал работать.

Объясню условия поиска, я вручную прописывала варианты дат ( к примеру - январь 2014, февраль 2014 и т.д.), если по очереди хоть какой то формат нашел в колонтитуле тогда уже сравниваем с системной и выдаем соответствует или нет.
Так вот теперь при каждом повторе поиска, то есть не нашел январь, ищет дальше февраль и .т.д. он записывает в текст колонтитула букву первого слова колонтитула.. (Это выглядит так: мМай 2014).В этом и состоит проблема...мне надо устранить эту запись первой лишней буквы :(
К сообщению приложен файл: Doc1_1-1-.docm (30.2 Kb)
 
Ответить
Сообщение:)
Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной.
Изначально была проблема с форматом системной даты. Макрос подправили и он начал работать.

Объясню условия поиска, я вручную прописывала варианты дат ( к примеру - январь 2014, февраль 2014 и т.д.), если по очереди хоть какой то формат нашел в колонтитуле тогда уже сравниваем с системной и выдаем соответствует или нет.
Так вот теперь при каждом повторе поиска, то есть не нашел январь, ищет дальше февраль и .т.д. он записывает в текст колонтитула букву первого слова колонтитула.. (Это выглядит так: мМай 2014).В этом и состоит проблема...мне надо устранить эту запись первой лишней буквы :(

Автор - Ania999
Дата добавления - 12.01.2014 в 21:29
AndreTM Дата: Воскресенье, 12.01.2014, 22:55 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Какой фигнёй вы страдаете... (впрочем, как и там) Я, кажется, уже говорил - правильно ставьте вопросы. Понимаете, нам не интересно, что именно делает ваш код. Причём что именно он делает с вашей точки зрения. Причём это даже не ваш код.

Нам интересно, что реально имеется и что конкретно должно получиться.

Замечу также, что текст вида "январь 2014" - это никакая не дата. Поэтому смысловая нагрузка фразы "сравнить дату из колонтитула с системной датой" мне, например, непонятна...

И, ради всего.., перкратите уже засовывать всю кучу вашего кода в автозакрытие книги...
И начните уже читать про объектную модель Word. И про программирование чутка. Хотя бы про переменные, условия и циклы.
И запомните, что за копипаст при программировании - могут очень больно морально наказать (я не про чужой код, кстати).


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


Сообщение отредактировал AndreTM - Воскресенье, 12.01.2014, 22:58
 
Ответить
СообщениеКакой фигнёй вы страдаете... (впрочем, как и там) Я, кажется, уже говорил - правильно ставьте вопросы. Понимаете, нам не интересно, что именно делает ваш код. Причём что именно он делает с вашей точки зрения. Причём это даже не ваш код.

Нам интересно, что реально имеется и что конкретно должно получиться.

Замечу также, что текст вида "январь 2014" - это никакая не дата. Поэтому смысловая нагрузка фразы "сравнить дату из колонтитула с системной датой" мне, например, непонятна...

И, ради всего.., перкратите уже засовывать всю кучу вашего кода в автозакрытие книги...
И начните уже читать про объектную модель Word. И про программирование чутка. Хотя бы про переменные, условия и циклы.
И запомните, что за копипаст при программировании - могут очень больно морально наказать (я не про чужой код, кстати).

Автор - AndreTM
Дата добавления - 12.01.2014 в 22:55
Ania999 Дата: Понедельник, 13.01.2014, 00:20 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

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

Спасибо за совет по поводу объектной модели Wordа,учту. Код как раз мой.

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

Спасибо за совет по поводу объектной модели Wordа,учту. Код как раз мой.

Я рассчитывала на то что сюда обращаются за советами как раз...Ерундой я не страдаю, так как выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался.
текст вида "январь 2014" это "часть даты". Для моего заказчика необходимо сравнение именно этой части.

Автор - Ania999
Дата добавления - 13.01.2014 в 00:20
AndreTM Дата: Понедельник, 13.01.2014, 01:41 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Вам ещё раз повторить? У вас в колонтитуле нет никаких дат. Есть только текст. Даже если он и означает "некий месяц некоего года" - программа этого совершенно не подозревает :) А "системная дата", если вы этого не знаете, - это число. Да даже если и текст был бы - как сверить "май 2013" и "01.05.13", по какому признаку целый месяц года может соответствовать некоему дню? Вы не думайте, что я прикалываюсь - вы реально попробуйте сформулировать ответ на этот вопрос. Может тогда до вас начнёт доходить, чего вас тут долбят...

Так вы тогда так и рассказывайте:
"Макрос должен находить в колонтитуле текст вида <наименование месяца><пробел><год (4 цифры)>, затем сверять текущие месяц/год с найденными в колонтитуле."
Или наоборот:
"Макрос должен сформировать строку вида "месяц год" по текущей дате, затем найти эту строку в колонтитуле"
Или ещё как: ...

Далее, вы там начинаете в тексте из колонтитула, если нашли какую то "типа дату" менять месяц, с чем-то сравнивать... Зачем? У вас в колонтитуле этот текст будет изменяться? Если изменяться - будет вноситься руками или формироваться кодом? Если будет формироваться кодом - то чего же вы тут нам лохматите соответствующую часть тела? :D

выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался.
Это ваши проблемы. Вы не понимаете?
Вы ещё пока не "заказчику" файл отдаёте, а просите совета на форуме. Так какого же мы обязаны переносить ваш макрос из автозапуска в модуль каждый раз, ибо как его иначе тестировать?
А "нелогичность самого макроса" как понимать? "Заказчик" у вас просит "действие", "хочу чтобы я ткнул так - и вылезло вот так", его не интересует ни логика, ни алгоритм, ни средства... Поэтому и мы вам пытаемся дать совет, как можно реализовать то или иное действие, но вы же даже сами, похоже, не определились, что именно вам нужно. Ещё раз: реализуемый вами алгоритм никому не интересен до тех пор, пока вы внятно не объясните первоначальную задачу - что именно нужно проделать - "имея такие-то данные - получить вот тот-то". Словами. Продуманно. Не ссылаясь на то, что делает ваш уже написанный код. Просто словами. ЧТо должно происходить... Как ещё-то вам можно объяснить-то? :)


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


Сообщение отредактировал AndreTM - Понедельник, 13.01.2014, 01:50
 
Ответить
СообщениеВам ещё раз повторить? У вас в колонтитуле нет никаких дат. Есть только текст. Даже если он и означает "некий месяц некоего года" - программа этого совершенно не подозревает :) А "системная дата", если вы этого не знаете, - это число. Да даже если и текст был бы - как сверить "май 2013" и "01.05.13", по какому признаку целый месяц года может соответствовать некоему дню? Вы не думайте, что я прикалываюсь - вы реально попробуйте сформулировать ответ на этот вопрос. Может тогда до вас начнёт доходить, чего вас тут долбят...

Так вы тогда так и рассказывайте:
"Макрос должен находить в колонтитуле текст вида <наименование месяца><пробел><год (4 цифры)>, затем сверять текущие месяц/год с найденными в колонтитуле."
Или наоборот:
"Макрос должен сформировать строку вида "месяц год" по текущей дате, затем найти эту строку в колонтитуле"
Или ещё как: ...

Далее, вы там начинаете в тексте из колонтитула, если нашли какую то "типа дату" менять месяц, с чем-то сравнивать... Зачем? У вас в колонтитуле этот текст будет изменяться? Если изменяться - будет вноситься руками или формироваться кодом? Если будет формироваться кодом - то чего же вы тут нам лохматите соответствующую часть тела? :D

выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался.
Это ваши проблемы. Вы не понимаете?
Вы ещё пока не "заказчику" файл отдаёте, а просите совета на форуме. Так какого же мы обязаны переносить ваш макрос из автозапуска в модуль каждый раз, ибо как его иначе тестировать?
А "нелогичность самого макроса" как понимать? "Заказчик" у вас просит "действие", "хочу чтобы я ткнул так - и вылезло вот так", его не интересует ни логика, ни алгоритм, ни средства... Поэтому и мы вам пытаемся дать совет, как можно реализовать то или иное действие, но вы же даже сами, похоже, не определились, что именно вам нужно. Ещё раз: реализуемый вами алгоритм никому не интересен до тех пор, пока вы внятно не объясните первоначальную задачу - что именно нужно проделать - "имея такие-то данные - получить вот тот-то". Словами. Продуманно. Не ссылаясь на то, что делает ваш уже написанный код. Просто словами. ЧТо должно происходить... Как ещё-то вам можно объяснить-то? :)

Автор - AndreTM
Дата добавления - 13.01.2014 в 01:41
  • Страница 1 из 1
  • 1
Поиск:

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