Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 复制-创建增长列表时粘贴值_Vba_Excel - Fatal编程技术网

Vba 复制-创建增长列表时粘贴值

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").

我想让一个宏在每次打开excel文件时运行,然后将日期I5与列表列L中的最后一个条目进行比较,如果日期较旧,则复制一些值I5和I11,并将它们粘贴到列表列L和M的下一个空行中。我已经编写了下面的代码,但它不起作用,我得到运行时错误424,我在网上找到并尝试调整的所有其他语法也都不起作用。有人能帮忙吗

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中加了一些随机值,效果很好,谢谢