首页 > 解决方案 > 如何在特定时间间隔内启动宏

问题描述

我有一个宏,它每 15 分钟将一行复制到另一张纸上。

我希望它在 10:00 点开始并在 18:15 点结束。

我在其他条件下做到了,但它没有用。我怎样才能以不同的方式编码?下面是代码。

Sub UpdateData2()
If Hour(Time) >= 18 And Minute(Time) >= 15 Then
Application.OnTime Now + TimeValue("0:0:5"), "UpdateData2", False
ElseIf Hour(Time) < 10 And Minute(Time) < 00 Then
Application.OnTime Now + TimeValue("0:0:5"), "UpdateData2", False
Else
Application.OnTime Now + TimeValue("0:15:0"), "UpdateData2"
CopyData2
End If

End Sub
Sub CopyData2()

Dim sht11 As Worksheet
Dim sht12 As Worksheet

Dim cRng11 As Range
Dim dCol11 As Long

Set sht11 = ThisWorkbook.Sheets("LOG")
Set sht12 = ThisWorkbook.Sheets("15DK")

       
    Set cRng11 = sht11.Range("B2:OU2")
    dCol11 = sht12.Cells(Rows.Count, 410).End(xlUp).Row + 1
    sht12.Range(Cells(dCol11, 3).Address, Cells(dCol11, 412).Address) = cRng11.Value


End Sub

标签: excelvbatime

解决方案


推荐阅读