Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将不会继续执行#N/A单元格的宏_Vba_Excel 2010_Vlookup - Fatal编程技术网

Vba 将不会继续执行#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

我有一个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 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您是否考虑了上述两个提示?是的,我仍然得到不匹配