Saltar al contenido

Formula en hoja sin seleccionar o oculta


lphant

Recommended Posts

publicado

Buenas tardes chic@s;

Tengo una macro que pone diferentes fórmulas en varias hojas diferentes y para poder ponerlas tengo que antes seleccionar la hoja donde quiero que se ponga.

Hay alguna forma de poner la fórmula en la hoja que necesite sin antes seleccionar/activar dicha hoja??.

Las fórmulas las pongo de la siguiente forma:

Worksheets("Hoja2").Range("A2:A30").FormulaR1C1= "aquí la fórmula"

Pd: ahora mismo no tengo aquí el Excel, estoy escribiendo desde el móvil, si es necesario mañana le adjunto.

Muchísimas gracias.

publicado

Hola @lphant

No es necesario activar la hoja para ejecutar "muchas" acciones (salvo cuando debes obligatoriamente seleccionar) o escribir algo.

Toma un libro nuevo que tenga como mínimo cuatro hojas.

En un módulo común, copia este código. Selecciona una hoja y ejecútalo.

Verás que escribe las fórmulas en todas las hojas involucradas sin necesidad de activarlas. Cambia la hoja seleccionada y vuelve a probar el código.

Qué tengas un buen día! Suerte!

 

Sub escribir_formulas()
With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With

Hoja1.Range("A2:A12").FormulaR1C1 = "=IF(RC3<>"""",COUNTIFS(R2C3:R12C4,RC3),1)"
Hoja2.Range("B2:B12").FormulaR1C1 = "=IF(RC4<>"""",COUNTIFS(R2C3:R12C4,RC4),1)"
Hoja3.Range("C2:C12").FormulaR1C1 = "=IF(RC4<>"""",COUNTIFS(R2C3:R12C4,RC4),1)"

With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
End With
End Sub
publicado
Hace 17 horas, tierra_pampa dijo:

Hola @lphant

No es necesario activar la hoja para ejecutar "muchas" acciones (salvo cuando debes obligatoriamente seleccionar) o escribir algo.

Toma un libro nuevo que tenga como mínimo cuatro hojas.

En un módulo común, copia este código. Selecciona una hoja y ejecútalo.

Verás que escribe las fórmulas en todas las hojas involucradas sin necesidad de activarlas. Cambia la hoja seleccionada y vuelve a probar el código.

Qué tengas un buen día! Suerte!

 




Sub escribir_formulas()
With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With

Hoja1.Range("A2:A12").FormulaR1C1 = "=IF(RC3<>"""",COUNTIFS(R2C3:R12C4,RC3),1)"
Hoja2.Range("B2:B12").FormulaR1C1 = "=IF(RC4<>"""",COUNTIFS(R2C3:R12C4,RC4),1)"
Hoja3.Range("C2:C12").FormulaR1C1 = "=IF(RC4<>"""",COUNTIFS(R2C3:R12C4,RC4),1)"

With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
End With
End Sub

Gracias @tierra_pampa

Ya he visto donde tengo el fallo.

Tengo fórmulas con cells y.....esas son las que sin estar la hoja activa me da error.

Worksheets("Hoja2").Range(cells(1,2), cells(1,20)).FormulaR1C1= "aquí la fórmula"

Gracias.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.