Para mostrar una hoja puedes utilizara cualquiera de estas 3 opciones:
Sheets("Hoja4").Visible = True
Sheets("Hoja4").Visible = 1
Sheets("Hoja4").Visible = -1
Para ocultar la hoja puede ser:
Sheets("Hoja4").Visible = False 'ocultar
Sheets("Hoja4").Visible = 0 'ocultar
Sheets("Hoja4"). Visible = 2 'very hidden
Pero también, si la hoja está oculta, puedes realizar la búsqueda que necesitas y obtener el dato o los datos de esa hoja oculta sin necesidad de mostrarla.
Por ejemplo, si la hoja4 está oculta, quieres buscar la palabra "amor" en la columna A y obtener el dato de la columna B según la fila del dato encontrado:
Sub Buscar_Dato()
dato = "amor"
Set h = Sheets("Hoja4")
Set b = h.Columns("A").Find(dato, lookat:=xlWhole)
If Not b Is Nothing Then
DatoB = h.Cells(b.Row, "B")
MsgBox "El dato de la columna B es : " & DatoB
Else
MsgBox "No existe el dato"
End If
End Sub
De esa forma no es necesario mostrar la hoja. Incluso si quieres poner datos en la hoja, también puede estar oculta.
Ojo, tendrás error, si la hoja está oculta y escribes una sentencia como Select o Activate ej:
Sheets("Hoja4").Select
Range("B5").Select
Variable = Selection
Debes hacer referencia a la hoja de esta forma:
variable = sheets("Hoja4"). Range("B5").value
Trata de adaptarlo a tu código.
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.