Vba 从已关闭的工作簿列复制内容
正如标题中所说,我正试图将一列数据复制到一个新工作簿中,作为一份周报,我在该列中添加的数据仍然有效Vba 从已关闭的工作簿列复制内容,vba,excel,Vba,Excel,正如标题中所说,我正试图将一列数据复制到一个新工作簿中,作为一份周报,我在该列中添加的数据仍然有效 Sub copyColData00() Dim lastRow As Long Dim myApp As Excel.Application Dim wkBk As Workbook Dim wkSht As Object Dim mnt As String Set myApp = CreateObject("Excel.Application") mnt = InputBox(
Sub copyColData00()
Dim lastRow As Long
Dim myApp As Excel.Application
Dim wkBk As Workbook
Dim wkSht As Object
Dim mnt As String
Set myApp = CreateObject("Excel.Application")
mnt = InputBox("Enter Filename")
Set wkBk = Workbooks.Open("\\n\Documents\" & mnt & ".xlsx")
lastRow = wkBk.Sheets(1).Range("R" & Rows.Count).End(xlUp).Row
wkBk.Sheets(1).Range("R1:R" & lastRow).Copy
myApp.DisplayAlerts = False
wkBk.Close
myApp.Quit
Set wkBk = Nothing
Set myApp = Nothing
Set wkBk = ActiveWorkbook
Set wkSht = wkBk.Sheets("Sheet1")
wkSht.Activate
Range("R1").Select
wkSht.Paste
Exit Sub
End Sub
我的问题是,我希望它直接通过它,而在那里我会得到一个提示,询问我是否要复制剪贴板中的所有数据,我的第二个问题是
设置wkSht=wkBk.Sheets(“Sheet1”)
它给了我超出范围的错误下标,我很难理解那里发生了什么,如果有人能帮忙,那就太好了 这是一种更简单的方法:
Sub copyColData00()
Dim lastRow As Long
Dim wkBk1 As Workbook, wkBk2 As Workbook
Dim wkSht As Object
Dim mnt As String
mnt = InputBox("Enter Filename")
Set wkBk1 = ActiveWorkbook
Set wkBk2 = Workbooks.Open("\\n\Documents\" & mnt & ".xlsx")
lastRow = wkBk2.Sheets(1).Range("R" & Rows.Count).End(xlUp).Row
wkBk1.Sheets(1).Range("R1:R" & lastRow).Value = wkBk2.Sheets(1).Range("R1:R" & lastRow).Value 'change which sheet you want for wkBk1
wkBk2.Close
End Sub
谢谢你,太好了!