尝试设置工作簿时出现VBA错误-Excel

时间:2019-06-03 02:50:38

标签: 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 = 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

我想要enter image description here

2 个答案:

答案 0 :(得分:1)

Do While Archivos <> “”

这是我要看的第一件事。众所周知,语言在期望使用普通引号的地方使用智能引号会挑剔。 VBA可能允许这样做,但请注意。

此外,docs在参数列表的周围带有括号,并且从内存来看,这是VBA中长期存在的约定。函数调用带有括号,过程调用没有括号。

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

答案 1 :(得分:1)

改为使用此行:

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

这应该解决错误。