Vba 复制-创建增长列表时粘贴值
我想让一个宏在每次打开excel文件时运行,然后将日期I5与列表列L中的最后一个条目进行比较,如果日期较旧,则复制一些值I5和I11,并将它们粘贴到列表列L和M的下一个空行中。我已经编写了下面的代码,但它不起作用,我得到运行时错误424,我在网上找到并尝试调整的所有其他语法也都不起作用。有人能帮忙吗Vba 复制-创建增长列表时粘贴值,vba,excel,Vba,Excel,我想让一个宏在每次打开excel文件时运行,然后将日期I5与列表列L中的最后一个条目进行比较,如果日期较旧,则复制一些值I5和I11,并将它们粘贴到列表列L和M的下一个空行中。我已经编写了下面的代码,但它不起作用,我得到运行时错误424,我在网上找到并尝试调整的所有其他语法也都不起作用。有人能帮忙吗 Private Sub Workbook_Open() If Worksheets("overdue").Range("I5").Value > Worksheets("overdue").
Private Sub Workbook_Open()
If Worksheets("overdue").Range("I5").Value > Worksheets("overdue").Range("L2").End(xlDown).Value Then
Worksheets("overdue").Range("I5").Copy
Worksheets("overdue").Range("L1").End(xlDown).Offset(1, 0).PasteSpecial xlPasteValues
Worksheets("overdue").Range("I11").Copy
Worksheets("overdue").Range("M1").End(xlDown).Offset(1, 0).PasteSpecial xlPasteValues
End If
End Sub
请尝试下面的代码,如果L列中只有一行,我猜标题是:
Private Sub Workbook_Open()
Dim LastRow As Long
With Worksheets("overdue")
LastRow = .Range("L1").End(xlDown).Row
If LastRow >= 2 Then
If .Range("I5").Value > .Range("L" & LastRow).Value Then
.Range("L" & LastRow + 1).Value = .Range("I5").Value
.Range("M" & LastRow + 1).Value = .Range("I11").Value
End If
End If
End With
End Sub
如果L或M列为空,则尝试粘贴到电子表格最后一行之后的行中。这就是错误。我在L和M中加了一些随机值,效果很好,谢谢