Добрый день.
В макросах я вообще валинок. Записал простейший макрос :
Sub Макрос4()
'
' Макрос4 Макрос
'
'
Range("H1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("I3").Select
ActiveWorkbook.Save
End Sub
Нашел пост в котором прописан как сделать так что он запускался каждые 5 сек (это идеальный для меня вариант) но не смог понять как там и что :
там описан следующий способ :
Нет никаких сложностей с том, чтобы запустить в Excel макрос, который бы исполнялся с установленной периодичностью. ДЛя этого нужно пользоваться методом OnTime. Например:
Вставьте этот код в модуль книги:
Public oldValue As Variant
Private Sub Workbook_Open()
oldValue = False
Call myMacro
End Sub
А этот код в стандартный модуль процедур:
Sub myMacro()
Dim sh As Worksheet
Application.OnTime Now() + TimeSerial(0, 0, 5), "myMacro"
Set sh = ActiveWorkbook.Sheets(1)
If sh.Cells(1, 1) <> oldValue Then
Debug.Print Time
'... код макроса, который будет исполняться не чаще чем, каждые 5 секунд каждый раз,
'как только значение в ячейке А1 в первом листе книги изменится
End If
End Sub
При открытии книги с такой парой макросов процедура myMаcro будет вызываться каждые 5 секунд пока открыта книга, и код внутри блока If будет исполняться каждый раз, если за очередные 5 сек. ячейка А1 изменилась.
Мне не понятно где находиться модуль книги ?
И как я понял там ссылается на изменение значение ячейке A1 - возможно что бы без проверки а каждые 5 сек срабатывал.
Заранее большое спасибо
В макросах я вообще валинок. Записал простейший макрос :
Sub Макрос4()
'
' Макрос4 Макрос
'
'
Range("H1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("I3").Select
ActiveWorkbook.Save
End Sub
Нашел пост в котором прописан как сделать так что он запускался каждые 5 сек (это идеальный для меня вариант) но не смог понять как там и что :
там описан следующий способ :
Нет никаких сложностей с том, чтобы запустить в Excel макрос, который бы исполнялся с установленной периодичностью. ДЛя этого нужно пользоваться методом OnTime. Например:
Вставьте этот код в модуль книги:
Public oldValue As Variant
Private Sub Workbook_Open()
oldValue = False
Call myMacro
End Sub
А этот код в стандартный модуль процедур:
Sub myMacro()
Dim sh As Worksheet
Application.OnTime Now() + TimeSerial(0, 0, 5), "myMacro"
Set sh = ActiveWorkbook.Sheets(1)
If sh.Cells(1, 1) <> oldValue Then
Debug.Print Time
'... код макроса, который будет исполняться не чаще чем, каждые 5 секунд каждый раз,
'как только значение в ячейке А1 в первом листе книги изменится
End If
End Sub
При открытии книги с такой парой макросов процедура myMаcro будет вызываться каждые 5 секунд пока открыта книга, и код внутри блока If будет исполняться каждый раз, если за очередные 5 сек. ячейка А1 изменилась.
Мне не понятно где находиться модуль книги ?
И как я понял там ссылается на изменение значение ячейке A1 - возможно что бы без проверки а каждые 5 сек срабатывал.
Заранее большое спасибо