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

Вход

Регистрация

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

 

= Мир MS Excel/Задать переменную "Дата" для использования в формуле. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Задать переменную "Дата" для использования в формуле.
koyaanisqatsi Дата: Четверг, 26.03.2015, 14:30 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Можно ли в экселе придумать такую штуку: При открытии документа появляется окно куда надо вбить пересменну "Дата" которую потом можно было бы использовать в формуле. По дефолту он бы показывал в окошке сегодняшную дату но ее можно было бы изменить на любую.

Спасибо.
 
Ответить
СообщениеЗдравствуйте.
Можно ли в экселе придумать такую штуку: При открытии документа появляется окно куда надо вбить пересменну "Дата" которую потом можно было бы использовать в формуле. По дефолту он бы показывал в окошке сегодняшную дату но ее можно было бы изменить на любую.

Спасибо.

Автор - koyaanisqatsi
Дата добавления - 26.03.2015 в 14:30
Rioran Дата: Четверг, 26.03.2015, 15:00 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
koyaanisqatsi, здравствуйте.

Как Вам такой вариант (во вложении, модуль книги)? Если вместо даты вводится что-то постороннее - окно будет появляться до тех пор, пока не будет введена дата.

[vba]
Код
Private Sub Workbook_Open()

Dim DateA

Start:

With ThisWorkbook.Worksheets("Данные")
     DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     If Not IsDate(DateA) Then GoTo Start
     .Cells(1, 1).Value = DateA
End With

End Sub
[/vba]
К сообщению приложен файл: Date_Drop.xlsb (16.4 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеkoyaanisqatsi, здравствуйте.

Как Вам такой вариант (во вложении, модуль книги)? Если вместо даты вводится что-то постороннее - окно будет появляться до тех пор, пока не будет введена дата.

[vba]
Код
Private Sub Workbook_Open()

Dim DateA

Start:

With ThisWorkbook.Worksheets("Данные")
     DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     If Not IsDate(DateA) Then GoTo Start
     .Cells(1, 1).Value = DateA
End With

End Sub
[/vba]

Автор - Rioran
Дата добавления - 26.03.2015 в 15:00
Manyasha Дата: Четверг, 26.03.2015, 17:28 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
koyaanisqatsi, здравствуйте. А можно и не в ячейку записывать, а например, задать имя myDate (немного переделала макрос Романа :) )
[vba]
Код
Private Sub Workbook_Open()
     ActiveWorkbook.Names.Add Name:="myDate", RefersToR1C1:=Format(Date, "dd.mm.yyyy")
     Dim DateA
     Do
         DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     Loop While Not IsDate(DateA)
     ActiveWorkbook.Names("myDate").RefersToR1C1 = DateA
End Sub
[/vba]
тогда в формулах можно будет использовать это имя, например так
Код
=СЕГОДНЯ()-myDate
К сообщению приложен файл: 11.xlsm (15.6 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеkoyaanisqatsi, здравствуйте. А можно и не в ячейку записывать, а например, задать имя myDate (немного переделала макрос Романа :) )
[vba]
Код
Private Sub Workbook_Open()
     ActiveWorkbook.Names.Add Name:="myDate", RefersToR1C1:=Format(Date, "dd.mm.yyyy")
     Dim DateA
     Do
         DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     Loop While Not IsDate(DateA)
     ActiveWorkbook.Names("myDate").RefersToR1C1 = DateA
End Sub
[/vba]
тогда в формулах можно будет использовать это имя, например так
Код
=СЕГОДНЯ()-myDate

Автор - Manyasha
Дата добавления - 26.03.2015 в 17:28
koyaanisqatsi Дата: Четверг, 26.03.2015, 18:07 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Кажется оба варианта Отличные !
Спасибо огромное.

Опа) Макрос который не виден в макросах. А как мне на него прописать какуюнибудь клавишу ? например F12 (сейчас получилось так что если я захочу поменять дату то надо заново открывать файл.)
Либо можно чтобы вообще не пропадало это окошко если это можно сделать.


Сообщение отредактировал koyaanisqatsi - Четверг, 26.03.2015, 23:12
 
Ответить
СообщениеКажется оба варианта Отличные !
Спасибо огромное.

Опа) Макрос который не виден в макросах. А как мне на него прописать какуюнибудь клавишу ? например F12 (сейчас получилось так что если я захочу поменять дату то надо заново открывать файл.)
Либо можно чтобы вообще не пропадало это окошко если это можно сделать.

Автор - koyaanisqatsi
Дата добавления - 26.03.2015 в 18:07
Manyasha Дата: Четверг, 26.03.2015, 18:38 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
koyaanisqatsi, можно код вынести в отдельный макрос:
[vba]
Код
Sub Change_date()
     ActiveWorkbook.Names.Add Name:="myDate", RefersToR1C1:=Format(Date, "dd.mm.yyyy")
     Dim DateA
     Do
         DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     Loop While Not IsDate(DateA)
     ActiveWorkbook.Names("myDate").RefersToR1C1 = DateA
End Sub
[/vba]
при открытии книги его просто вызвать:
[vba]
Код
Private Sub Workbook_Open()
     Change_date
End Sub
[/vba]

Но тогда макрос будет создавать это имя диапазона для активной книги.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеkoyaanisqatsi, можно код вынести в отдельный макрос:
[vba]
Код
Sub Change_date()
     ActiveWorkbook.Names.Add Name:="myDate", RefersToR1C1:=Format(Date, "dd.mm.yyyy")
     Dim DateA
     Do
         DateA = InputBox("Введите актуальную дату.", "Запрос.", Date)
     Loop While Not IsDate(DateA)
     ActiveWorkbook.Names("myDate").RefersToR1C1 = DateA
End Sub
[/vba]
при открытии книги его просто вызвать:
[vba]
Код
Private Sub Workbook_Open()
     Change_date
End Sub
[/vba]

Но тогда макрос будет создавать это имя диапазона для активной книги.

Автор - Manyasha
Дата добавления - 26.03.2015 в 18:38
koyaanisqatsi Дата: Четверг, 26.03.2015, 18:55 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Прикольно )))) Спасибо. теперь будет проще работать с датой.
 
Ответить
СообщениеПрикольно )))) Спасибо. теперь будет проще работать с датой.

Автор - koyaanisqatsi
Дата добавления - 26.03.2015 в 18:55
  • Страница 1 из 1
  • 1
Поиск:

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