运行时错误9,尝试在新打开的文件中获取lastrow

时间:2017-08-31 12:42:48

标签: excel vba excel-vba

这是我失败的代码

Dim OpenFileName As String
Dim wb As Workbook, wb2 As Workbook
Dim lastrow
'Select and Open workbook
OpenFileName = Application.GetOpenFilename(",*.csv")
If OpenFileName = "False" Then Exit Sub
Set wb = Workbooks(OpenFileName)
Set wb2 = Workbooks("MasterLogFile.xlsm")

MsgBox OpenFileName
With wb
'lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
Range("A3:ME" & lastrow).Copy
.Sheets("Log Imports").Range("A7").Paste
End With

它在设定的wb线上失败了,我做错了什么?

1 个答案:

答案 0 :(得分:1)

将代码更改为此代码:

Set wb = Workbooks.Open(OpenFileName)

然后在最后关闭它:

https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-close-method-excel