Macro para ocultar celdas de una columna

Hola, necesito una ayuda, necesito con un clip ocultar celdas de un rango de una columna por (por ejemplo de la b1:b150), si esta tiene un dato, pero si esta vacía tiene que quedar sin ocultarse, a su ves necesito que después de ocultarse se quede seleccionado en la siguiente celda vacía. Yo ya intente con esta y me sirve, pero lo malo es que me cuando oculta las celdas también el seleccionador se me queda oculto, el problema es que al quedarse en la misma celda tengo el riesgo que las personas quines usaran el excel puedan accidentalmente borrar un dato oculto, que supuestamente lo estoy ocultado para que no puedan editar nada después de ocultado o trascrito, use esta... Espero tus comentario y si es posible tu ayuda:
Sub Ingreso3()
'
 ' Ingresos Macro
 '
 Sheets("Ingresos").Select
 ActiveSheet.Unprotect "123"
On Error Resume Next
With Range("e5:f204")
.EntireRow.Hidden = False
For i = 1 To .Rows.Count  
If WorksheetFunction.CountBlank(.Rows(i)) = 2 Then
.Rows(i).EntireRow.Hidden = True
End If Next i
End With
ActiveSheet.Protect "123"
 End Sub
Saludos
Respuesta
No se pueden ocultar rangos concretos, solamente filas o columnas completas. En tu caso la macro que usas oculta filas. Para dejar el cursor en una celda concreta y evitar que quede en una celda oculta puedes escribir el siguiente código al final de tu macro.
Range("A1").Select
Esto selecciona la celda A1 y por tanto si alguien borra accidentalmente borrará lo que haya en A1 o en la celda que elijas, donde el riesgo sea mínimo.
Gracias, pero ya lo solucione, use esta:
Private Sub UFCrear_Click()
ActiveSheet.Unprotect "123"
Dim iFila As Long
Dim ws As Worksheet
Set ws = Worksheets("Parte Diario Digital")
iFila = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
If Trim(Me.UFSector.Value) = "" Then
Me.UFSector.SetFocus
MsgBox "Debe ingresar un el sector"
Exit Sub
End If
If Trim(Me.UFTurno.Value) = "" Then
Me.UFTurno.SetFocus
MsgBox "¿Cuál es su turno?"
Exit Sub
End If
If Trim(Me.UFCategoria.Value) = "" Then
Me.UFCategoria.SetFocus
MsgBox "¿Cuál es la Categoría FSC?"
Exit Sub
End If
ws.Cells(iFila, 1).Value = Me.UFSector.Value
ws.Cells(iFila, 2).Value = Me.UFTurno.Value
ws.Cells(iFila, 3).Value = Me.UFCategoria.Value
ws.Cells(iFila, 4).Value = Me.UFCalendario.Value
Me.UFSector.Value = ""
Me.UFTurno.Value = ""
Me.UFCategoria.Value = ""
Me.UFCalendario.Value = ""
Me.UFSector.SetFocus
'Guarda el documento a una carpeta predeterminada por el administrador según referencia a nombre que se encuentra en celda "A1"
sfilename = "C:\mi carpeta\" & Range("a1").Value
fName = Application.GetSaveAsFilename(sfilename, fileFilter:="Excel Files (*.xlsm), *.xlsm")
ActiveWorkbook.SaveAs Filename:=Range("a1").Value
Unload Me
ActiveSheet.Protect "123"
End Sub
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas