Bueno sí,
Leí en TODOEXCEL que tiene opciones de VBA que se le han propuesto.
Aunque desde mi punto de vista, como usted depende de la apreciación, (autorización, validación... Etc.) de alguien más, en un escenario de 12,000 celdas, entonces elegir cuales cambiar y cuales no, es un desafío, no complicado, aunque sí es un reto de entendimiento.
Por otro lado, si usted es el autor y no tiene inconveniente con usar una hoja Auxiliar, tal vez le conviene más usar una columna Auxiliar en su lugar. En esa columna usar la función ESFORMULA(), similar a lo que usó para el condicional, para saber si el contenido es una fórmula o un valor, así en consecuencia del resultado VERDADERO o FALSO traer al final el que desea, puede ser el valor que está escrito e incluso con un SI() + BUSCARV() + INDIRECTO() podría traer la fórmula de la lista que preparó previamente.
Pruebe e intente,
Saludos
Por
Israel Cassales, · publicado
Hola EXCELENTES.
Heredé este código. Yo no tengo NI IDEA de programación.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errorfecha
If Not Intersect(Target, Range("A1830")) Is Nothing Then
If Range("A1830").Value <> "" Then
If Application.WorksheetFunction.Weekday(Range("A1830").Value, 2) >= 6 Then
On Error GoTo 0
MsgBox "No puede ser sábado o domingo", vbCritical
Range("A1830").EntireRow.Delete
Range("A1830").Select
ElseIf (Range("A1830").Value < Date - 7 Or Range("A1830").Value > Date + 3) Then
MsgBox "No puede superar los siete días", vbCritical
Range("A1830").EntireRow.Delete
Range("A1830").Select
Else
If Not Intersect(Target, Rows("1830:1830")) Is Nothing Then
Rows("3:3").EntireRow.Delete
Target.Offset(0, 1).Select
End If
End If
End If
End If
Exit Sub
errorfecha:
Range("A1830").ClearContents
End Sub
¿Pero que quito para que no proteste por los Sábados y Domingos?.
Muchas gracias y SALU2.