尝试设置工作簿-Excel时发生Vba错误

尝试设置工作簿-Excel时发生Vba错误,excel,vba,Excel,Vba,我有此代码,但在尝试设置工作簿时出错。 我之所以使用它,是因为我试图从其他工作簿复制值,但当我使用变量设置工作簿时,会出现错误 我复制了代码和错误的截图 Sub AbrirArchivos() 'Paso 1: Declarar las variables Dim Archivos As String Dim vals As Variant Dim wbcopy As Workbook Dim wbTarget As Workbook Set wbTarget = ThisWorkb

我有此代码,但在尝试设置工作簿时出错。 我之所以使用它,是因为我试图从其他工作簿复制值,但当我使用变量设置工作簿时,会出现错误

我复制了代码和错误的截图

Sub AbrirArchivos()

'Paso 1: Declarar las variables

 Dim Archivos As String
 Dim vals As Variant
 Dim wbcopy As Workbook
Dim wbTarget As Workbook

Set wbTarget = ThisWorkbook


 Archivos = Dir("C:\Users\fernandofernandez\Desktop\Prueba\*.xlsx")
 Do While Archivos <> “”

 Workbooks.Open "C:\Users\fernandofernandez\Desktop\Prueba\" & Archivos
 Set wbcopy = Workbooks.Open "C:\Users\fernandofernandez\Desktop\Prueba\" & Archivos
'code

    vals = wbcopy.Worksheets(1).Range("E2").Value

    wbTarget.Range("C10").End(xlToRight).Select
    Selection.EntireColumn.Select
    Selection.Copy
    wbTarget.Range("C10").End(xlToRight).Offset(0, 1).Select
    Selection.EntireColumn.Select
    ActiveSheet.Paste

    wbTarget.Worksheets(1).Range("F11").Value = vals


 'Paso 5: Cuadro de mensaje, cerrar y guardar cambios

 'MsgBox ActiveWorkbook.Name

 ActiveWorkbook.Close SaveChanges:=True

'Paso 6: buscar más archivos en la carpeta para volver seguir la secuencia

 Archivos = Dir
 Loop

End Sub
Sub-abirarchivos()
'Paso 1:声明器las变量
暗拱作为弦
作为变量的Dim VAL
将wbcopy作为工作簿复制
将目标设置为工作簿
设置wbTarget=ThisWorkbook
Archivos=Dir(“C:\Users\fernandofernandez\Desktop\Prueba\*.xlsx”)
当Archivos“”时执行此操作
工作簿。打开“C:\Users\fernandofernandez\Desktop\Prueba\”和Archivos
设置wbcopy=工作簿。打开“C:\Users\fernandofernandez\Desktop\Prueba\”和Archivos
“代码
VAL=wbcopy.Worksheets(1).范围(“E2”).值
wbTarget.Range(“C10”).End(xlToRight)。选择
Selection.EntireColumn.Select
选择,复制
wbTarget.Range(“C10”).End(xlToRight)。偏移量(0,1)。选择
Selection.EntireColumn.Select
活动表。粘贴
wbTarget.Worksheets(1).范围(“F11”).值=VAL
帕索5号:卡德罗·德门萨耶,塞拉尔和瓜达尔·坎比奥斯
'MsgBox ActiveWorkbook.Name
ActiveWorkbook.Close SaveChanges:=True
《第六集》:巴士上的建筑是一条通往地下的地毯
Archivos=Dir
环
端接头
我想在存档时执行 这是我要看的第一件事。众所周知,语言在使用智能引号时非常挑剔。这可能是VBA允许的,但我会谨慎行事

此外,参数列表周围有括号,从内存来看,这是VBA中长期存在的惯例。函数调用有括号,procuderes调用没有

我还将检查是否需要打开工作簿两次:-)

请使用以下行:

Set wbcopy = Workbooks.Open("C:\Users\fernandofernandez\Desktop\Prueba\" & Archivos)

这将解决错误。

谢谢!这管用!现在,我面临着另一个错误。当我转到第一个excel(运行宏的地方)时,下一行向我抛出了一个错误。此行:wbTarget.Range(“C10”).End(xlToRight)。选择。如果你知道发生了什么,我将不胜感激。@FERNANDOFERNANDEZ。。。我认为您出现了错误,因为您没有选择任何工作表。您正试图将范围直接放入工作簿对象。您需要在两者之间有一个工作表对象,如
wbTarget.Worksheets(“**Sheet\u Name**”).Range(“C10”).End(xlToRight)。选择
Set wbcopy = Workbooks.Open("C:\Users\fernandofernandez\Desktop\Prueba\" & Archivos)