Sumar si en visual basic
Hola expertos es la primera vez que utilizo este medio para pedir ayuda como tambien es la primera vez que trabajo con macros, sepan comprender los errores de sintaxis, espero hacerme entender.
Ahora bien.. Tengo una macro la cual me suma una celda contaste de todos los libros (que tienen mismo formato) guardados dentro de la misma carpeta. Me funciona perfectamente, ahora necesito otra macro que tenga el mismo procedimiento pero con la funcion sumar.si
la macro que tengo es:
Sub SumaDeVariosLibros()
Dim MyBook As String, myForm As String
Const Celda As String = "N11"
With ThisWorkbook
MyBook = Dir(.Path & "\*.xls")
Do
If MyBook <> .Name Then
With Range("C3")
myForm = .Formula & " + '" & ThisWorkbook.Path & "\[" & MyBook & "]FACTURA'!" & Celda
.Value = "=" & myForm: .Value = .Value
End With
End If
MyBook = Dir
Loop Until MyBook = ""
End With
End Sub
Necesito crear una macro similar adaptada a la siguiente funcion sumar.si:
Range("B4").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF([FACTURA1.xls]FACTURA!R14C1:R33C1,[FACTURA1.xls]INVENTARIO!R5C1,[FACTURA1.xls]FACTURA!R14C2:R33C2)"
Donde (FACTURA1.slx) seria reemplazado por ThisWorkbook.Path & "\[" & MyBook & "] para que se ejecute la macro con todos los libros dentro de la misma carpeta.
Muchas gracias por su interes me sera de gran ayuda !!
Ahora bien.. Tengo una macro la cual me suma una celda contaste de todos los libros (que tienen mismo formato) guardados dentro de la misma carpeta. Me funciona perfectamente, ahora necesito otra macro que tenga el mismo procedimiento pero con la funcion sumar.si
la macro que tengo es:
Sub SumaDeVariosLibros()
Dim MyBook As String, myForm As String
Const Celda As String = "N11"
With ThisWorkbook
MyBook = Dir(.Path & "\*.xls")
Do
If MyBook <> .Name Then
With Range("C3")
myForm = .Formula & " + '" & ThisWorkbook.Path & "\[" & MyBook & "]FACTURA'!" & Celda
.Value = "=" & myForm: .Value = .Value
End With
End If
MyBook = Dir
Loop Until MyBook = ""
End With
End Sub
Necesito crear una macro similar adaptada a la siguiente funcion sumar.si:
Range("B4").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF([FACTURA1.xls]FACTURA!R14C1:R33C1,[FACTURA1.xls]INVENTARIO!R5C1,[FACTURA1.xls]FACTURA!R14C2:R33C2)"
Donde (FACTURA1.slx) seria reemplazado por ThisWorkbook.Path & "\[" & MyBook & "] para que se ejecute la macro con todos los libros dentro de la misma carpeta.
Muchas gracias por su interes me sera de gran ayuda !!