问题描述
我有一个执行一些任务的 VBA/宏代码。它根据列 E 查找文件,然后打开该文件并将范围 A8:C8 复制到主工作簿中。我最大的问题是当涉及到文件名的 #N/A 值时。 E 列是查找主列表以查找文件的名称。如果找不到,则在 E 列中放置一个 #N/A。我试图跳过错误并将其从值更改为文本,但都没有奏效。有人可以帮忙跳过#N/A 值并恢复代码吗?
Sub copyFromClosedWorkbook()
Dim wb1 As Workbook,wb2 As Workbook
Dim varCellvalue As Variant
Dim i As Long
For i = 2 To 20
varCellvalue = Range("E" & i).Value
' disable screen updating to reduce screen flicker
Application.ScreenUpdating = False
' Define which workbook is which
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open("S:\Shoppw\PkgSpc\" & varCellvalue & ".xls")
If Not IsError(varCellvalue) Then
' copy range A1:W70 from the Data sheet of wb2
wb2.Sheets("Sheet1").Range("A8:C8").copy
' Paste the copied data to range A1 of the Data sheet in wb1
wb1.Sheets("WeightList").Range("F" & i).PasteSpecial
' Close wb2
wb2.Close
' Re-enable screen updating
Application.ScreenUpdating = True
End If
Next i
End Sub
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)