#vba #refresh #alert
#vba #обновить #предупреждение
Вопрос:
Я использую alertTime
и RefreshAll
для обновления данных, но вместо того, чтобы обновляться по «значению времени», которое я хочу, оно обновляется случайным образом.
Вот код:
Sub Macro1()
'Macro1 Macro
alertTime = Now TimeValue("00:01:00") 'hh:mm:ss
Application.OnTime alertTime, "Macro1"
Dim LTime1 As Date, LTime2 As Date
Dim i As Integer, j As Integer
Dim USDJPY As Worksheet, Allrates As Worksheet, EURGBP As Worksheet
Dim LastRow As Long
Set Allrates = Sheets("Allrates")
Set EURUSD = Sheets("EURUSD")
Set EURGBP = Sheets("EURGBP")
LTime1 = TimeValue("15:30:00")
LTime2 = TimeValue("15:32:00")
If Range("P20") = LTime1 Then
Allrates.Range("B18").Copy EURGBP.Cells(EURGBP.Range("B10000").End(xlUp).Row 1, 2)
End If
If Range("P20") = LTime2 Then
Allrates.Range("B18").Copy EURGBP.Cells(EURGBP.Range("B10000").End(xlUp).Row 1, 2)
End If
ActiveWorkbook.RefreshAll
End Sub
Ответ №1:
Устанавливается ли alertTime на правильное значение времени? Я спрашиваю, потому что это выглядит закомментированным и может отсутствовать в реальном коде.
Кроме того, выполняется ли другая процедура, когда она должна? Также вырезание, копирование и поиск могут происходить во время его выполнения. В любом случае он будет запущен, когда поток будет свободен, или если он длится дольше 30 секунд, он будет отменен. проверьте это
Комментарии:
1. это код. когда он удовлетворяет условиям времени LTime1 и LTime2, я хочу скопировать и вставить некоторые значения. но я хочу, чтобы временной шаг менялся каждые 1 минуту, иначе он продолжает вставляться все время. спасибо за помощь vm Jimmy