Sub Copy()
Workbooks("Data.xlsm").Sheets("28May2020").Select
Workbooks("Data.xlsm").Sheets("28May2020").Activate
Dim lastrow As Integer
lastrow = ThisWorkbook.Sheets("COPYHERE").Cells(Rows.Count, 2).End(xlUp).Row
Sheets("COPYHERE").Range("A" & lastrow + 1).Value = Date
Sheets("COPYHERE").Range("B" & lastrow + 1).Value = Time
Range("L43:X93").Copy Worksheets("COPYHERE").Range("A" & lastrow + 2)
Sheets("COPYHERE").Select
Timer
End Sub
Sub Timer()
Application.OnTime Now() + TimeValue("00:00:30"), "Copy"
End Sub
Sheets("COPYHERE").Select
之前,放置一行ThisWorkbook.Activate
。这将激活运行代码的工作簿。
也可以再看看Sheets("COPYHERE").Range("A" & lastrow + 1).Value = Date
Sheets("COPYHERE").Range("B" & lastrow + 1).Value = Time
Range("L43:X93").Copy Worksheets("COPYHERE").Range("A" & lastrow + 2)
工作表,工作表和范围是指ActiveWorkbook / ActiveSheet。除非您确定要这样做,否则建议您将工作表更改为ThisWorkbook.Sheets
,将工作表更改为ThisWorkbook.Worksheet
,将范围更改为ThisWorkbook.Sheets(<sheet name>).Range(<address>)
。
Sub Copy()
Application.ScreenUpdating = True
Dim lastrow As Integer
Dim wsName As String
Dim cpName As String
wsName = "28May2020"
cpName = "COPYHERE"
Sheets(wsName).Activate
lastrow = Sheets(cpName).Cells(Rows.Count, 2).End(xlUp).Row
With Sheets(cpName)
.Range("A" & lastrow + 1).Value = Date
.Range("B" & lastrow + 1).Value = Time
End With
Range("L43:X93").Copy Worksheets(cpName).Range("A" & lastrow + 2)
Sheets(cpName).Activate
Application.ScreenUpdating = False
End Sub