Vba 将不会继续执行#N/A单元格的宏
我有一个VBA/宏代码,可以执行一些任务。它根据E列查找文件,并将打开该文件并将范围A8:C8复制到主工作簿中。我最大的问题是文件名的#N/A值。列E是主列表的查找,以查找文件名。如果它找不到,a#N/a将放在E列中。我尝试跳过错误并将其从值更改为文本,但两者都不起作用。是否有人可以帮助跳过#N/A值并恢复代码Vba 将不会继续执行#N/A单元格的宏,vba,excel-2010,vlookup,Vba,Excel 2010,Vlookup,我有一个VBA/宏代码,可以执行一些任务。它根据E列查找文件,并将打开该文件并将范围A8:C8复制到主工作簿中。我最大的问题是文件名的#N/A值。列E是主列表的查找,以查找文件名。如果它找不到,a#N/a将放在E列中。我尝试跳过错误并将其从值更改为文本,但两者都不起作用。是否有人可以帮助跳过#N/A值并恢复代码 Sub CopyFromClosedWorkbook() Dim wb1 As Workbook, wb2 As Workbook Dim varCellvalue As Varian
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
如果不是IsError(varCellvalue),则
…将varCellvalue变为变量
。如果varCellvalue是字符串,则varCellvalue=Range(“E”&i)。当单元格中的“N/A”时,Value
将导致类型不匹配错误。@АцСццц将其更改为变量仍然会产生相同的错误。@Tara您是否考虑了上述两个提示?是的,我仍然得到不匹配