Excel - Ocultar formulas, sin proteger la hoja de calculo

 
Vista:
sin imagen de perfil
Val: 22
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ocultar formulas, sin proteger la hoja de calculo

Publicado por Eduardo (7 intervenciones) el 09/11/2019 21:02:06
Estimados e estado buscando la forma de ocultar la formulas en la hoja de trabajo.
buscando por Internet encontré esta macro en la cual oculta la formula y muestra el resultado dejando expresado el resultado en la barra donde se escribe la formula en un rango de celdas determinadas.

oculto1

este es el código que oculta las formulas en la barra dentro de un rango de celdas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim xDic As New Dictionary
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Range("C2:C19")
    If xDic.Count <> xRg.Count Then
        For Each xCell In xRg
            xDic.Add xCell.Address, xCell.FormulaR1C1
        Next
    End If
    If (Target.Count = 1) And (Not Application.Intersect(xRg, Target) Is Nothing) And (Target.HasFormula) Then
        With Target
            .Value = .Value
        End With
    Else
        For Each xCell In xRg
            xCell.Formula = xDic.Item(xCell.Address)
        Next
    End If
End Sub

Luego del código se tiene que ir a Herramientas --> Referencias y dejar activado Microsoft Scripting Runtime como sale en la imagen, para que funcione.

ocultar

Mi consulta es: Se puede modificar este código para que se pueda ocultar las formulas en dos o mas rangos de celdas. Ejemplo: Ocultar las formulas de C2:C19 y E2:E19

oculto2
¿se puede hacer que estas dos formulas se puedan ocultar?

Desde ya muchas gracias.
Saludos cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha disminuido su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ocultar formulas, sin proteger la hoja de calculo

Publicado por Oscar Gerardo (1 intervención) el 11/11/2019 03:04:19
Hola Eduardo, y si tratas de crear el rango como en las graficas, cuando las columnas a graficar no son continuas, seria algo asi como
Set xRg = Range("C2:C19;E2:E19"), no tengo mucho tiempo para ensayarlo, pero creo que funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alfredo
Val: 361
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ocultar formulas, sin proteger la hoja de calculo

Publicado por Alfredo (100 intervenciones) el 11/11/2019 03:05:41
Hola Eduardo
Solo necesitas una pequeña modificación en tu código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim xDic As New Dictionary
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   '
   Dim xCell As Range
   Dim xRg As Range
   '
   Set xRg = Range("C2:C10,F2:F10") 'aquí uso rango C2:C10 y tambien F2:F10
   '
   If xDic.Count <> xRg.Count Then
      For Each xCell In xRg
         xDic.Add xCell.Address, xCell.FormulaR1C1
      Next
   End If
   '
   If (Target.Count = 1) And (Not Application.Intersect(xRg, Target) Is Nothing) And (Target.HasFormula) Then
      With Target
         .Value = .Value
      End With
   Else
      For Each xCell In xRg
         xCell.Formula = xDic.Item(xCell.Address)
      Next
   End If
   '
End Sub

Como ves solo agrega el segundo rango que deseas ocultar (mi separador es la , (coma)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 22
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ocultar formulas, sin proteger la hoja de calculo

Publicado por Eduardo (7 intervenciones) el 13/11/2019 17:56:55
muchas gracias por sus comentarios
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar