excelvba如何将sheet2的从第2行到最后一行复制到另一表里

编一段VBA..将当前已经打开的表sheet2中的从第二行到最末行,复制到 D盘123目录下的new.xlsx文件的sheet1的最末尾行,然后保存并关闭这两个表。这个过程中隐藏开表,都在后台静默运行,谢谢。

代码已测试通过,请查收附件。

注意,最后会关闭所有表格,如果你只想关闭这两个表,把最后一段代码去掉即可。


Sub copy2AnotherWorkbook_by_zzllrr()

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim sht, r
    Set sht = ActiveWorkbook.Sheets("Sheet2")
    Call pub_wbOpenOrActive2("D:\123\new.xlsx")
    r = Sheets("Sheet1").UsedRange.Rows.count + 1
    u = sht.UsedRange.Rows.count
    
    sht.Rows("2:" & sht.UsedRange.Rows.count).Copy
    Sheets("Sheet1").Range("A" & (r + 1)).Select
    ActiveSheet.Paste

    ActiveWorkbook.Close True
    ActiveWorkbook.Close True
    Workbooks.Close

End Sub

追问

你好,第七行,执行出错,提示为 complie error: Sub or Function not defined.

追答

不好意思,再加上这段sub

Sub pub_wbOpenOrActive2(ByVal wbLocalName As String)
' 将某Excel文件打开,或者激活
' 如无此文件,弹出对话框

    For Each wbook In Workbooks
        If wbook.path & "\" & wbook.Name = wbLocalName Then
            wbook.Activate
            Exit Sub
        End If
    Next wbook
    
    If Len(Dir(wbLocalName)) > 0 Then ' 存在此文件
        Workbooks.Open Filename:=wbLocalName
        'Workbooks(Right(WblocalName, Len(WblocalName) - InStrRev(WblocalName, "\"))).Activate
    Else
        MsgBox "无法找到 " & wbLocalName
        Exit Sub
    End If

End Sub

温馨提示:答案为网友推荐,仅供参考
相似回答