Insertar fórmula contar. Si. Conjunto desde vba

No se como insertar desde vba esta función, ya que me da error de sintaxis.

Intento abrir un libro y en una celda esta función, tal que así:

Workbooks.Open ActiveWorkbook.Path & "\" & "Libro1.xlsx"
Workbooks("Libro1.xlsx").Sheets("hoja1").Range("BP25").FormulaLocal = " =CONTAR.SI.CONJUNTO(BO57:BO58;">35%";AQ58:AQ59;">5")"

Agradecido desde ya.

2 respuestas

Respuesta
1

Las funciones en VBA deben ser escritas en inglés. Y lo que debe ir entre comillas ("") van entre comillas dobles.

Así te quedaría entonces tu función en VBA:

Workbooks("Libro1.xlsx").Sheets("Hoja1").Range("BP25").Formula = "=COUNTIFS(BO57:BO588,"">35%"", AQ58:AQ59,"">5"")"

En el video N° 15 de mi canal explico el tema de Fórmulas con VBA, mostrando las diferentes opciones a la hora de escribir las instrucciones.

Sdos y no olvides valorar la respuesta.

Elsa

En mi respuesta anterior utilicé otro rango para obtener la instrucción, pero luego copié tu rango sin reparar que tenía como un dígito demás.

Debiera ser así, si el primer rango es desde BO57:BO58, sino ajusta a tu modelo.

Workbooks("Libro1.xlsx").Sheets("Hoja1").Range("BP25").Formula = "=COUNTIFS(BO57:BO58,"">35%"", AQ58:AQ59,"">5"")"

Como se instruye en la ayuda de Microsoft Office, los rangos deben coincidir en filas y col, aunque no necesariamente deben ser rangos adyacentes.

Sdos.

Elsa

Respuesta
1

Revisa el rango de celdas, en la primer condición tienes:

BO57:BO58,">35%"

En la segunda condición tienes otras celdas:

AQ58:AQ59,">5"

Prueba con esto:

  With Workbooks("Libro1.xlsx").Sheets("Hoja1").Range("BP25")
    .Formula = "=COUNTIFS(BO57:BO58,"">35%"", AQ58:AQ59,"">5"")"
  End With

Si el rango de celdas deben apuntar a las mismas filas, entonces debería ser así:

  With Workbooks("Libro1.xlsx").Sheets("Hoja1").Range("BP25")
    .Formula = "=COUNTIFS(BO57:BO58,"">35%"", AQ57:AQ58,"">5"")"
  End With

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas