¿Cómo ocultar fórmulas en excel de un archivo con muchas pestañas que contienen fórmulas?

Espero estén bien

Me pidieron pasar un balance con 47 pestañas, de los cuales todas se alimentan entre si ya sea con vínculos o fórmulas dentro de un único y mismo archivo, pero me piden que pase en valores, ¿hay alguna forma de ocultar todas las fórmulas de una vez? Si me pueden dar una ayudita

2 respuestas

Respuesta
3

Visita:

Cursos de Excel y Macros

---------------------

Para ocultar solamente las fórmulas:

Sub Ocultar_Formulas()
  Dim sh As Worksheet
  For Each sh In Sheets
    sh.Unprotect "abc"              'cambia "abc" por el password de la hoja
    sh.Cells.Locked = False         'valores iniciales
    sh.Cells.FormulaHidden = False
    On Error Resume Next            'manejador de error, si la hoja no tiene fórmulas
    With sh.Cells.SpecialCells(xlCellTypeFormulas, 23)
      .FormulaHidden = True
      .Locked = True
    End With
    On Error GoTo 0
    sh.Protect "abc"
  Next
End Sub

----------------------------

Recomendaciones

excel vba dictionary parte 3 - YouTube

__________________

Sal u dos Dante Amor

Excelente Dante, aprovecho veo que le asigna una clave, consulto lo que busco exactamente es que mi archivo excel que tiene 47 pestañas todas con vínculos de fórmulas entre ellas deje totalmente en valores sin necesidad de pedir una clave al hacer clic en las celdas con valores, ¿eso se podría hacer? Tipo que que se queden totalmente en valores y me permita desplazarme con el cursor libremente

Si vas a poner valores, no tiene caso ocultar las fórmulas, ya que no existirían fórmulas.

Prueba con esto:

Sub ponervalores()
'Por Dante Amor
  Dim sh As Worksheet
  For Each sh In Sheets
    sh.Unprotect "abc"
    sh.UsedRange.Value = sh.UsedRange.Value
    sh.Protect "abc"
  Next
End Sub

Este esta espectacular, lo único que me encantaría que solo peguen en valores como hace la macro y lo que me gustaría es que no proteja la hoja o pida contraseña para desbloquear, o sea que desaparezca totalmente todas las fórmulas de las 47 pestañas y que no pida contraseña, ¿eso se podría hacer?

Quita estas líneas de la macro

Sh. Unprotect "abc"
Sh. Protect "abc"

Respuesta
2

Teniendo tantas hojas formuladas, seguramente la hoja está protegida. La siguiente macro desprotege la hoja, oculta las fórmulas y vuelve a protegerla.

Como está dentro de un bucle lo hará en el total de hojas. Ajustá las instrucciones de protección a tu modelo.

Sub ocultaFormulas()
'x Elsamatilde
'se recorren todas las hojas
For Each sh In Sheets
    With sh
    'se desprotege la hoja
    sh.Unprotect
    'se selecciona el total de celdas
    Cells.Select
    'se ocultan las fórmulas
    Selection.FormulaHidden = True
    'se vuelve a proteger la hoja... colocar todos los argumentos
    sh.Protect
Next sh
End Sub

Comentame si es algo así lo que buscabas.

https://www.youtube.com/@ElsaMatilde 

Hola Elsa, sabes que me perdi =(...me genera error

Pero no veo cuál sea el error... ¿necesitas declarar la variable?

Sub ocultaFormulas()
'x Elsamatilde
Dim sh                               'declarar la varible sh
'se recorren todas las hojas
For Each sh In Sheets

De paso aclarar que lo que hace la macro es lo que harías manualmente si tuvieras 1 sola hoja, tal como se muestra en la imagen:

Sdos!

No, disculpa., me quedó 1 línea demás que olvidé borrar.

Sub ocultaFormulas()
'x Elsamatilde
'se recorren todas las hojas
For Each sh In Sheets
    'se desprotege la hoja
    sh.Unprotect
    'se selecciona el total de celdas
    sh.Cells.Select
    'se ocultan las fórmulas
    Selection.FormulaHidden = True
    'se vuelve a proteger la hoja... colocar todos los argumentos
    sh.Protect
Next sh
End Sub

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas