Declaración de Variables

Estoy realizando una aplicación la cual al momento de abrir un libro de excel me posiciona en la celda con la fecha, pero al ajecutarlo me indica que hay un error "91" que no he declarado el objeto o esta bloqueado este es mi código
Dim MyDater, MyDayr, MyMonthr, Fec
    MyDater = Date           'asigna la fecha actual
    MyMonthr = Format(MyDater, "mmm")  'asigna el mes
    MyDayr = Format(MyDater, "dd")  'asigna el dia
    Fec = (MyDayr & "-" & MyMonthr)
    Cells.Find(What:=Fec, After:=ActiveCell, LookIn:=xlValues, LookAt _
           :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
           False, SearchFormat:=False).Activate
Gracias

1 respuesta

Respuesta
1
Disculpa, no te he respondido
De hecho ayer lo iba a hacer, pero no encontré la solución completa así que mejor no te escribí nada :-P
Mañana te doy una contestación
Ok, el problema es que no encuentra el texto que indicas con la variable fec
Si tuvieras mufti_18 en tu hoja de excel y en find(What:= "mufti_18"...), no te lanzaría el error.
Y como puedes ver, si escribieras:
On Error GoTo Errores
...
Cells.Find(What:=Fec...
...
Errores:
If Err.Number = 91 Then
MsgBox "Palabra no encontrada"
End If
al no encontrar la palabra, lanzaria un mensaje, de acuerdo al numero de error.
El detalle esta en que tu variable fec, vale por ej 13-Abr, pero si ves al colocarte sobre la celda que tuviera 13-Abr, la celda toma el formato de fecha, quedando como 13/04/10 o 13/04/2010 como puedes notar si te colocas en tal celda y escribes:
Msgbox Activecell.Value
Por lo tanto, una opción seria darle a tal columna, formato de texto.
Por otro lado, y por lo que no te conteste antes es que después de muchos intentos, no conseguí obtener el valor de la celda con formato de fecha, como texto, y cuando lo hacia, solo me regresaba 13.
Seguiré investigando...
Pero bueno, el error es por esa causa.
Tambien lei que excel maneja las operaciones de fecha como un numero x ej 366590.
Tendrias que checar como convertir tu variable a ese numero, y en el find obtener tal numero, en la celda activa...
Y pues espero que por el momento, esto te ayude aunque sea un poco.
Si quieres que lo cheque también, avisame en este post, que aquí estamos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas