Cómo comprobar que en una selección de celdas no se seleccionó ciertas filas en excel?
Estimad@s
Tengo el siguiente código para eliminar filas de una planilla. Pero hay una restricción:
Todas las filas anteriores a la fila 43 no pueden eliminarse ni las que estén después de la última fila.
ActiveSheet. Unprotect "PWD12345"
Application.ScreenUpdating = False
Dim UltimaFila As Integer
UltimaFila = Range("A1").End(xlDown).Row '(para la última celda con datos)
Dim fila As Integer
fila = ActiveCell.Row
If fila < 43 Then
MsgBox ("Esta fila no se puede eliminar.")
Sheets("Planilla de Costos").Protect "PWD12345", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Exit Sub
ElseIf fila >= UltimaFila Then
MsgBox ("Esta fila no se puede eliminar.")
Sheets("Planilla de Costos").Protect "PWD12345", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Exit Sub
End If
Dim Resp As Byte
Resp = MsgBox("Está seguro que desea eliminar?", _
vbQuestion + vbYesNo, "Borrar Fila")
If Resp = vbYes Then
Selection.EntireRow.Delete
Else
Exit Sub
End If
Application.ScreenUpdating = TrueEl tema está en que al seleccionar con el puntero me toma la activecell la primera que marqué con el puntero, entonces marqué una celda dentro del rango permitido pero la selección completa incluye filas que fuera de ese rango... Las elimina!
Agradecido por su ayuda.
1 respuesta
Respuesta de Andy Machin
1