Favor ayuda con esta macro

Expertos tengo una macro que oculta una fila si se cumple una condición en otra celda, el problema que se me presenta es el siguiente y no lo he podido resolver:

La macro al seleccionar en la celda C4 informe muestra la fila 5 al estar en blanco esconde la fila 5, pero quiero también agregarle otra condición que al seleccionar en la celda C4 datos muestre la fila 7 y esconda la fila 7 si esta esta en blanco les dejo la macro que tengo.-

Sub mostrarfila()
a = Range("e4")
If a = "informe" Then
Rows("5:5").Select
Selection.EntireRow.Hidden = False
Else
Rows("5:5").Select
Selection.EntireRow.Hidden = True
End If
End Sub

1 respuesta

Respuesta
1

De acuerdo a lo que entendí lo que tu necesitas es que oculte la fila 7 si en Range("e4") contiene el texto: "dato", eso lo solucionamos agregando otra condición y modificando la fila deseada. Quedaría así:

$$\begin{align}&Sub mostrarfila()\\ &a = Range("e4")\\ &If a = "informe" Then\\ &Rows("5:5").Select\\ &Selection.EntireRow.Hidden = False\\ &Else\\ &Rows("5:5").Select\\ &Selection.EntireRow.Hidden = True\\ &\end If\\ &'///////////PARTE NUEVA ///////////////\\ &If a = "dato" Then\\ &Rows("7:7").Select\\ &Selection.EntireRow.Hidden = False\\ &Else\\ &Rows("7:7").Select\\ &Selection.EntireRow.Hidden = True\\ &\end If\\ &\\ &\end Sub\end{align}$$

experto esto es lo que modifique pero no me funciona.-

Sub mostrarfila()
a = Range("e4")
If a = "informe" Then
Rows("5:5").Select
Selection.EntireRow.Hidden = False
Else
Rows("5:5").Select
Selection.EntireRow.Hidden = True
If a = "dato" Then
Rows("7:7").Select
Selection.EntireRow.Hidden = False
Else
Rows("7:7").Select
Selection.EntireRow.Hidden = True
End If
End If
End Sub

Uno de los dos comandos "End If" debes quitarlo del final y colocarlo en:

(... código anterior)

Rows("5:5").Select

Selection.EntireRow.Hidden = True

End If
If a = "dato" Then

Rows("7:7").Select

(... código posterior)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas