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
Estoy intentando que una macro se active en una fecha determinada cada año pero no consigo completar le parte que resalto en rojo.
Sub DESCATALOGAR()
Call CONEXIONBBDD
Dim sqlX As String
Set rstX = New ADODB.Recordset
Dim sqlY As String
Set rstY = New ADODB.Recordset
'Dim curso As Date
If Day(Date) = 9 And Month(Date) = 9 Then
'On Error Resume Next
sqlX = "UPDATE LIBROS SET LIBROS.Descatalogado = True;"
With rstX
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open sqlX, cnn, , , adCmdText
End With
' curso = Year(Date) & "/" & Right(Year(Date) + 1, 2)
sqlY = "UPDATE LIBROS SET LIBROS.Descatalogado = False WHERE (((LIBROS.Ciclo)='" & User_FechaF.Text_Fecha & "'));"
With rstY
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open sqlY, cnn, , , adCmdText
End With
End If
Set rstX = Nothing
Set rstY = Nothing
End Sub
Alguien me puede echar una mano por favor.