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 SubMe pueden ayudar a ver cual es el error para poder corregirlo y seguir construyendo la macro. Ya que voy haciendo pruebas y agregando.
2 Respuestas
Respuesta de Danny Velasquez
1
Respuesta de Programar Excel
1
