Saber quién y cuándo se abrió un libro excel

Estoy ideando la manera de saber quién y cuando alguien abrió un libro. Para ello he creado un formulario que se ejecuta al abrir el libro, solicitando el nombre, el cual se compara con los contenidos en un rango, si no aparece en ese rango, no le da acceso, y si aparece le da acceso y registra el nombre, la fecha y hora en que lo abrió.

Los problemas son:

El formulario manda la información a una sola celda y no da continuidad, reescribiéndola.

No se cómo comparar el contenido de esa celda con el rango.

Mucho les agradecería.

Saludos a todos

1 Respuesta

Respuesta
1

Antes de mandar a escribir los datos nombre, fecha y hora, escribe el siguiente código

‘Encontrar la última fila
‘Si es otra columna cambia la letra A por la letra de tu columna
ufila = Range("A" & Rows.Count).End(xlUp).Row
‘cambia el nombre del textbox1 por el tuyo, cambia las letras A B y C por tus columnas
Range(“A” & ufila) = textbox1 ‘para el nombre
Range(“B” & ufila) = date ‘para la fecha
Range(“C” & ufila) = time ‘para la hora
Saludos. Dam

Gracias. Eso funciona, pero cómo comparo el nombre introducido en el Textbox1? Ese nombre debe estar contenido en un rango, si no, no entra al libro.

Gracias de nuevo. Y también por la pronta respuesta.

Suponiendo que tienes en la columna A los nombres

La instrucción para buscar es la siguiente:

Range("A:A").Select
Set RangoObj = Selection.Find(What:=Textbox1, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)

If RangoObj Is Nothing Then
MsgBox ("Nombre no existe")

ActiveWorkbook.Close
End if

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas