Problemas con macro usando SUM.IF

Estuve buscando la manera de hacer un sumif desde un libro cerrado. Pero no pude conseguir respuestas. Sin embargo, traté de hacer lo que estaba buscando, a través de una macro que abra, ejecute la suma, guarde en una celda el valor y cierre el libro.

Todo iba bien hasta que llego al punto del SumIF y ahí me da un error.

La macro la ejecuto cuando selecciono un dato de una lista desplegable. De acuerdo a ese dato, debo seleccionar una columna. Y la macro hasta el momento va así:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.ScreenUpdating = False
    Dim ruta As String, mes As String, titulo As String, 
archivo As String, direccion1 As String
    'definimos rutas y archivos como variables
    Set BG = Sheets("BG")
    Set BD = Sheets("Base de Datos")
    ruta = "C:\CORTES DE CUENTAS\2018\"
    mes = [Y6]
    titulo = " Cierre Contable Mensual "
    archivo = [Y7]
    direccion1 = ruta & mes & titulo & archivo
    'Se define la variable para el rango de suma, de acuerdo a la 
'selección de la lista
    Rango1 = Application.WorksheetFunction.VLookup(BG.Range("A1"), 
BD.Range("A:B"), 2, False)
    'abrimos el libro desde donde se sumará la información con el 
'método .Open
    Workbooks.Open Filename:=direccion1
    Worksheets("Resumen Ejecutivo").Activate
    'Asignamos a la celda la suma de acuerdo a las condiciones
    Workbooks("Corte de Cuentas.xlsm").Activate
    BG.Select
    BG.Range("N3").Value = WorksheetFunction.SumIf(Workbooks(direccion1).
Sheets("Resumen Ejecutivo").Range("A:A"), Range("B13").Value, 
Workbooks(direccion1).Sheets("Resumen Ejecutivo").
Range(Rango1 & ":" & Rango1))
    'cerramos el libro origen con el método .Close, sin guardar cambios
    Workbooks(fichero1).Close savechanges:=False
Application.ScreenUpdating = True
End If
End Sub

Me pueden ayudar a ver cual es el error para poder corregirlo y seguir construyendo la macro. Ya que voy haciendo pruebas y agregando.

Respuesta
1

Lo que estaba mal era que en workbook, use la variable direccion1. Lo arregle para que me diera el. Nombre del archivo

1 respuesta más de otro experto

Respuesta
1

Esto te puede orientar

https://youtu.be/GhpxZWwLhyc

https://youtu.be/d4VgP82naPI

Con sql puedes trabajar con libros cerrados no siendo necesario abrirlos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas