Foros del Web » Soporte técnico » Ofimática »

Buscar útlimo registro ingresado tabla excel con datos repetidos

Estas en el tema de Buscar útlimo registro ingresado tabla excel con datos repetidos en el foro de Ofimática en Foros del Web. Hola foreros. Tengo un libro de excel para controlar un grupo de trabajadores. Tengo una primera hoja llamad INICIO, con botones que me despliegan formularios ...
  #1 (permalink)  
Antiguo 19/10/2011, 09:44
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 20 años, 4 meses
Puntos: 2
Buscar útlimo registro ingresado tabla excel con datos repetidos

Hola foreros.
Tengo un libro de excel para controlar un grupo de trabajadores.

Tengo una primera hoja llamad INICIO, con botones que me despliegan formularios para agregar, modificar o liminar datos y campos de búsqueda basados en fórmulas de excel en las mismas celdas.

En la hoja DATOS tengo todos los datos del personal.

En otra tengo las licencias médicas presentadas.

En ésta última tengo 5 columnas:

[RUT TRABAJADOR][NOMBRE][INICIO LICENCIA][DIAS][TERMINO LICENCIA]

Estos datos se van llenando a medida que el personal presenta licencia.

Necesito hacer lo siguiente:

En la hoja inicio, tengo una celda donde ingreso el RUT de la persona.
Entonces me despliega todos los datos tomados de la hoja DATOS por medio de una fórmula creada por mi bastante sencilla que producto que los RUT, son únicos, busca por RUT y me muestra los datos correctos.

Necesito complementar la información, y que me muestre la última licencia presentada por el RUT, pero el problema es que en esta hoja, el RUT, puede repetirse tantas veces como licencias presente el trabajador, por eso las fórmulas anteriores no me sirven.

Necesito ayuda para crear la fórmula correcta.

Tengo el siguiente código:
Código:
Function buscalicencia(a, b)


    With Sheets("licencias")
    filalibre = .Range("A1").End(xlDown).Offset(1, 0).Row 'la variable filalibre guarda el nro. de la primer celda vacía.
    dato = a
    rango = "A2:A" & filalibre
    Set midato = .Range(rango).Find(dato, LookIn:=xlValues, SearchDirection:=xlPrevious, LookAt:=xlWhole)
    If Not (midato) Is Nothing Then
        
        ubica = midato.Address(False, False)
        buscalicencia = .Range(ubica).Offset(0, b).Value
  Set midato = Nothing

End If
End With

End Function
Alguna idea??

Les cuento que por una extraña razón, la fórmula me funciona correctamente pero sólo en ocasiones no me entrega valores correctos.
¿Será por que la columna RUT no está ordenada?
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563

Última edición por Chaudx; 19/10/2011 a las 10:01 Razón: Actualización
  #2 (permalink)  
Antiguo 19/10/2011, 11:55
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 15 años, 4 meses
Puntos: 88
De acuerdo Respuesta: Buscar útlimo registro ingresado tabla excel con datos repetidos

No necesariamente se requieren macros para estas búsquedas. Por ejemplo:

= INDICE(licencias!$A$1:$D$5000; MAX(SI((A2 = licencias!$A$1:$A$5000); FILA(licencias!$A$1:$A$5000))); 2)

te entrega el nombre (por el "2" que vemos al final).

En cuanto a la función personalizada, te diría que -intrínsecamente- está bien hecha. La podrías resumir un poco... por ejemplo:

Código PHP:
Function BuscaLicencia(RutAs Byte)
Dim C As Range
With Sheets
("licencias")
  
Set C = .Range(.[a1], .[a1].End(xlDown)).Find(RutLookIn:=xlValues_
    SearchDirection
:=xlPreviousLookAt:=xlWhole)
  If 
C Is Nothing Then Exit Function
  
BuscaLicencia C.Offset(, b)
End With
Set C 
Nothing
End 
Function 
pero sería "más de lo mismo".
Quizás si detectas un problema concreto y muestras un archivo como para analizar la situación, pueda indicarte más detalles.

Haz tus pruebas/evaluaciones y comenta, ¿Sí?

Saludos, Cacho R.
  #3 (permalink)  
Antiguo 19/10/2011, 13:47
Avatar de Chaudx  
Fecha de Ingreso: marzo-2002
Ubicación: Quilpué, Chilito lindo
Mensajes: 345
Antigüedad: 20 años, 4 meses
Puntos: 2
Respuesta: Buscar útlimo registro ingresado tabla excel con datos repetidos

Gracias, la fórmula funciona muy bien.
Necesito la fórmula ya que debo aplicarla en otras hojas.

saludos
__________________
Servicios computacionales
Linux registered User # 306587
Ubuntu user #14563
  #4 (permalink)  
Antiguo 19/10/2011, 17:33
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 15 años, 4 meses
Puntos: 88
Respuesta: Buscar útlimo registro ingresado tabla excel con datos repetidos

¡Me alegra que así sea!... Hasta la próxima.
Cacho R.

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.