Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 12:37   #11
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Вы неверно вставляете в модуль объявление переменной:
Огромное Вам спасибо. Все работает! Больше даже спасибо за ликбез, мои скудные знания прилично обогатились
А можно еще вопросик? Как теперь удалить эти идущие часы? Пришлось через Break останавливать выполнение макроса.
Severny вне форума Ответить с цитированием
Старый 18.03.2011, 13:50   #12
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Severny Посмотреть сообщение
Как теперь удалить эти идущие часы? Пришлось через Break останавливать выполнение макроса.
Код:
Sub Stop_Tic()
On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:01"), "Refresh_Time", , False
End Sub
Можно данную процедуру остановить либо в макросе, либо по закрытии книги:
Код:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Stop_Tic
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 21.03.2011, 10:24   #13
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Хочу оставить только время(без даты), что не так сделал?
Цитата:
Dim rRng As Range
Sub ВставкаТекущегоВремени() ' Вставка текущего времени
Set rRng = Workbooks("Товарный чек1.xls").Sheets("Чек").Cells(3, 22): rRng = Time
rRng.NumberFormat = "h:mm:ss"
Call Refresh_Time
End Sub

Sub Refresh_Time()
rRng = Time
Application.OnTime Time + TimeValue("00:00:01"), "Refresh_Time"
End Sub
Сам не понял почему, но так все получилось:
Цитата:
Dim rRng As Range
Sub ВставкаТекущегоВремени() ' Вставка текущего времени
Set rRng = Workbooks("Товарный чек1.xls").Sheets("Чек").Cells(3, 22): rRng = Time
rRng.NumberFormat = "h:mm:ss"
Call Refresh_Time
End Sub

Sub Refresh_Time()
rRng = Time
Application.OnTime Now + TimeValue("00:00:01"), "Refresh_Time"
End Sub
Кто в силах объясните в чем соль?

Последний раз редактировалось madex; 21.03.2011 в 10:32.
madex вне форума Ответить с цитированием
Старый 21.03.2011, 11:32   #14
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от madex Посмотреть сообщение
Кто в силах объясните в чем соль?
Соль в том, что Вы неверно поняли метод OnTime или вообще не вдумывались.

Application.OnTime Time + TimeValue("00:00:01"), "Refresh_Time" - получается, что Вы хотите вызвать процедуру "Refresh_Time" БЕЗ ДАТЫ. Т.е. в 1900 году. Т.к. для OnTime важно не только время, но и дата. Now возвращает текущий день и время. Думаю, не надо пояснять, почему с Now все заработало? :-)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 21.03.2011, 11:57   #15
madex
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 61
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Соль в том, что Вы неверно поняли метод OnTime или вообще не вдумывались.

Application.OnTime Time + TimeValue("00:00:01"), "Refresh_Time" - получается, что Вы хотите вызвать процедуру "Refresh_Time" БЕЗ ДАТЫ. Т.е. в 1900 году. Т.к. для OnTime важно не только время, но и дата. Now возвращает текущий день и время. Думаю, не надо пояснять, почему с Now все заработало? :-)
Теперь все понятно, спасибо за разъяснение.
madex вне форума Ответить с цитированием
Старый 21.03.2011, 12:50   #16
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Код:
Sub Stop_Tic()
On Error Resume Next
    Application.OnTime Now + TimeValue("00:00:01"), "Refresh_Time", , False
End Sub
Спасибо The_Prist!
Severny вне форума Ответить с цитированием
Старый 08.04.2011, 14:36   #17
dr03
Форумчанин
 
Регистрация: 08.04.2011
Сообщений: 119
По умолчанию

всем доброго здоровья!Задался целью в access 2007 создать для окна формы кнопку"текущее время".С программированием не знаком очень плохо, сломал уже всю голову.Получилось только прописать текущее время для окна при открытии формы в значении по умолчанию (=now() или =time()). Просмотрел и прослушал интерактивный курс по access-пользы не вынес.Прочитал вышенаписанное попробовал применить к своей проблеме.На лицо выплыли проблемы с вставлением в нужном месте. Готов заплатить деньги-только ПОМОГИТЕ!
OVT 256 МЕГАРЕСПЕКТ!
dr03 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка текущего времени arcer Win Api 4 02.10.2010 21:38
Чтение текущего времени на компе Explosion Общие вопросы Delphi 4 11.05.2010 13:13
Вывод текущего времени формата H:M:S:MS, где MS - миллисекунды Gypsy Помощь студентам 5 13.01.2010 18:05
Привязка макроса к кнопке VisuaL Microsoft Office Excel 7 10.05.2008 07:04
Запись текущего времени CaHeK Общие вопросы Delphi 3 06.04.2008 17:23