Модераторы: mihanik

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Народ как сделать в EXELЕ чтоб макрос обнавлялся ч 
V
    Опции темы
pro_kan
Дата 19.1.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



КТО СПЕЦ по EXEL помогите.
надо строчку которую можно вставить в макрос ......

Добавлено @ 14:01 
надо что обнавлялся каждую минуту

Добавлено @ 14:13 
а то я замучилси на кнопки жать в ЕХЕЛЕ 15 макросов и все поочередно нажимаю. некоторые через 5 мин, 1 мин, а некоторые через час. 
а данные идут посекундно. формат времени /10:30:30/
PM MAIL   Вверх
LSD
Дата 19.1.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: нет
Всего: 538



Модератор: перемещено из Общие вопросы по базам данных


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
skyboy
Дата 19.1.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



что значит "макрос обновлялся"? ты что его - динамически формируешь?
PM MAIL   Вверх
Genyaa
Дата 19.1.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



Подробней, пжлста... (да, и зачем решать задачу так, чтобы макрос нужно было так часто менять?)
--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
pro_kan
Дата 19.1.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



данные поступают из интернета в эксель. затем стоит сортировка по времени. 

    Бумага                                                Кол-во    Операция    Время    Цена
2    ГАЗПРОМ ао [Внесписочные акции]    59    Купля                   10:29:59    279
3    ГАЗПРОМ ао [Внесписочные акции]    10    Продажа                   10:29:59    279

Макрос сортирует куплю и продажу. а потом выводит за час сколько бумаги было куплено и скока продано. я это делаю нажатием клавиши макроса. и хочу чтоб в макросе отслеживалось время и как тока час закончился  он должен обнавиться!!!

Добавлено @ 14:43 
т.е. нужно чтоб макрос выполнялся в нужное время  САМ.
с утра до вечера. комп мощный вроде потянет. данных 65000 строк на 16 листах. по 5 колонок на листе!!!!
PM MAIL   Вверх
mihanik
Дата 19.1.2007, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Я понмаю так, что тебе нужно не чтобы "макрос обновился", а чтобы имеющийся макрос запускался автоматически сам по определённому расписанию...

Так?

Добавлено @ 15:29 
Если так, то будем думать...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 19.1.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Итак....
Первый раз тебе всё равно придётся самому запустить процедуру (макрос)

В конце макроса использовать 


Код

Application.OnTime TimeValue("MyTime"), "my_Procedure"


Пример

Этот пример каждые 10 секунд (или что-то около этого) "пищит".


Код

Private Sub CommandButton1_Click()
Dim MyTime As Date
Dim T As String

    
    MyTime = Time
    MyTime = DateAdd("s", 10, MyTime)
    Beep
    
    T = Format(MyTime, "hh:mm:ss")
    
    Application.OnTime TimeValue(T), "CommandButton1_Click"

End Sub


Цитата

DateAdd Function
      

Returns a Variant (Date) containing a date to which a specified time interval has been added.

Syntax

DateAdd(interval, number, date)

The DateAdd function syntax has these named arguments:

Part Description 
interval Required. String expression that is the interval of time you want to add. 
number Required. Numeric expression that is the number of intervals you want to add. It can be positive (to get dates in the future) or negative (to get dates in the past). 
date Required. Variant (Date) or literal representing date to which the interval is added. 



Settings

The interval argument has these settings:

Setting Description 
yyyy Year 
q Quarter 
m Month 
y Day of year 
d Day 
w Weekday 
ww Week 
h Hour 
n Minute 
s Second 



Remarks

You can use the DateAdd function to add or subtract a specified time interval from a date. For example, you can use DateAdd to calculate a date 30 days from today or a time 45 minutes from now.

To add days to date, you can use Day of Year ("y"), Day ("d"), or Weekday ("w").

The DateAdd function won't return an invalid date. The following example adds one month to January 31:

DateAdd("m", 1, "31-Jan-95")

In this case, DateAdd returns 28-Feb-95, not 31-Feb-95. If date is 31-Jan-96, it returns 29-Feb-96 because 1996 is a leap year.

If the calculated date would precede the year 100 (that is, you subtract more years than are in date), an error occurs.

If number isn't a Long value, it is rounded to the nearest whole number before being evaluated.

Note   The format of the return value for DateAdd is determined by Control Panel settings, not by the format that is passed in date argument.

Note   For date, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri. If month values are names, the name must be consistent with the current Calendar property setting. To minimize the possibility of month names conflicting with the current Calendar property setting, enter numeric month values (Short Date format).




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
pro_kan
Дата 19.1.2007, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



ребята огромное спасибо ща попробую
PM MAIL   Вверх
mihanik
Дата 19.1.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



pro_kan, у меня в примере, по-моему, маленькая ошибка...
Но не существенная...
Кажется я что-то с форматом напутал.

Разберёшься!

Добавлено @ 16:33 
Код

Private Sub CommandButton1_Click()
Dim MyTime As Date
    
    MyTime = Time
    MyTime = DateAdd("s", 10, MyTime)
    Beep
   
    Application.OnTime TimeValue(MyTime), "CommandButton1_Click"

End Sub




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
pro_kan
Дата 19.1.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



УРА ЗАРАБОТАЛООООООООО. я две недели бился над этим никто мне так и неответил!!!!!!!!!!

еще раз благодарен за помощьььььь........

Добавлено @ 17:19 
я тут допетрил и все ок макрос как надо до секундочки запускается.........

Добавлено @ 17:31 
самое главное найти человека который в этом разбирается!!!!!!

Добавлено @ 17:31 
 smile 
PM MAIL   Вверх
Genyaa
Дата 19.1.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



Цитата(pro_kan @  19.1.2007,  18:18 Найти цитируемый пост)
самое главное найти человека

... и задать вопрос правильно.
--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
mihanik
Дата 22.1.2007, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Не забывайте помечать вопрос решённым.

Помечу сам... smile



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
pro_kan
Дата 22.1.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



Цитата(mihanik @ 22.1.2007,  08:09)
Не забывайте помечать вопрос решённым.

Помечу сам... smile

как это сделать smile

Добавлено @ 15:25 
Цитата(mihanik @ 19.1.2007,  16:31)
pro_kan, у меня в примере, по-моему, маленькая ошибка...
Но не существенная...
Кажется я что-то с форматом напутал.

Разберёшься!

Добавлено @ 16:33 
Код

Private Sub CommandButton1_Click()
Dim MyTime As Date
    
    MyTime = Time
    MyTime = DateAdd("s", 10, MyTime)
    Beep
   
    Application.OnTime TimeValue(MyTime), "CommandButton1_Click"

End Sub


да а можно сделать чтоб макрос выполнялся не каждые 10 секунд, а в заданное время например только в //13:00:00//??????

чето немогу написать. MyTime    :-(

кстати это сильно будет тормозить комп? блин мне придется в 1 файле делать уже около 150 макросов.........  каждые 5 мин на протяжении 9 часов.....

Добавлено @ 15:27 
mihanik, если можешь помоги!!!! 
PM MAIL   Вверх
mihanik
Дата 23.1.2007, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Цитата(pro_kan @  22.1.2007,  15:16 Найти цитируемый пост)
да а можно сделать чтоб макрос выполнялся не каждые 10 секунд, а в заданное время например только в //13:00:00//??????


Можно!!!

Код

Application.OnTime TimeValue("13:00:00"), "CommandButton1_Click"


Про 
Цитата(pro_kan @  22.1.2007,  15:16 Найти цитируемый пост)
кстати это сильно будет тормозить комп? блин мне придется в 1 файле делать уже около 150 макросов.........  каждые 5 мин на протяжении 9 часов.....


Не понял...




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
pro_kan
Дата 23.1.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



Цитата(mihanik @ 23.1.2007,  09:01)
Цитата(pro_kan @  22.1.2007,  15:16 Найти цитируемый пост)
да а можно сделать чтоб макрос выполнялся не каждые 10 секунд, а в заданное время например только в //13:00:00//??????


Можно!!!

Код

Application.OnTime TimeValue("13:00:00"), "CommandButton1_Click"


Про 
Цитата(pro_kan @  22.1.2007,  15:16 Найти цитируемый пост)
кстати это сильно будет тормозить комп? блин мне придется в 1 файле делать уже около 150 макросов.........  каждые 5 мин на протяжении 9 часов.....


Не понял...

я имел в виду что у меня будет 150 макросов в 1 книге EXELя.  ща уже около 70 готовых. все они сортируют и сохраняют данные в разное время.. одна книга потянет 150 макросов не будет ли зависать комп или сама книга не повредиться????

Чем больше пишу тем больше узнаю.
________________________________________

УГУ.  13.00 вставил макрос пошел. 
Хотя возникла проблема с модулем. Вставил енту строчку в другой модуль. в указанное время ехел ругнулся. думал думал ... бошку сломал потом понял что модулем ошибся.....
КАК МОЖНО РЕШИТЬ ПРОБЛЕМУ, ЧТО ЕСЛИ НЕ ВТОМ МОДУЛЕ НАБРАЛ он все равно выполнил бы макрос!!!!!?????????????????




PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0836 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.