Hacer búsquedas de Exel

Hola mi pregunta va en relación a lo siguiente, en una de las consultas que te hicieron en la cual se busca a un empleado que haya causado baja y se envíe a otra hoja o libro de trabajo con una serie de celdas a la derecha de eta misma, utilice esta macro para que me hiciere algo similar y bueno dejame decirte que fue todo un éxito, solo que a la hora de empezar a mandar los empleados que ya causaron baja esta me sustituye y no me crea una lista de estos; es decir lo siguiente.
a1= n1
a2= n2
a3= n3 ...
Bueno al momento de ejecutar la macro le digo que me busque a n3, una vez seleccionada me la envía a la base de exempleados hasta ahí todo bien, ahora le digo que me busque a n2 y le de el mismo tratamiento, lo ejecuta perfectamente bien solo que sutituye a n3 y lo que quiero es que me liste cada uno de lo exempleados:
Ejemplo
a1 = n3
a2 = n2 ... Así sucesivamente.
De antemano te agradezco.
Atentamente
Gabriel hernández.
Respuesta
1
El usuario que recibió aquella respuesta, mencionó haber tenido el mismo problema que planteas. Sin embargo, reconoció -luego- que él tenía el encabezado de la primer columna en la celda B1 (no en la B2 como, a modo de ejemplo, imaginé yo).
Entonces, Gabriel, para que todo funcione OK deberás indicar en la macro dónde esta tu primer celda de encabezados. De hecho deberás controlar y modificar las otras variables. Pruébalo y dime.
Si la macro que capturaste es la siguiente, allí indico cuales son las variables a modificar:
Sub BajaEmpl()
Dim COD2search
Dim rang2search As Range
'=== Gabriel, ingresa aquí los parámetros de tu archivo
RangoBusqueda = "B:B" 'Columna o rango donde están los códigos en la hoja activa
HojaDestino = "ExEmpleados" ' Hoja que recibirá los datos
PrimCelda = "B2" 'Primer celda en la Hoja destino a partir de la cual empieza el listado (Probablemente tenga el titulo código)
CantCeldas = 9 'Celdas a llevar a la tabla contando también la de código
'========================
Set rang2search = Range(RangoBusqueda)
88: COD2search = InputBox("Ingrese Código de persona a transferir", "PASE a EX EMPLEADOS")
If Len(COD2search) = 0 Then
M_Tit = "FALTA CODIGO"
M_Mens = "Al no ingresar código, proceso termina aquí"
MsgBox M_Mens, vbInformation, M_Tit
Else
Set EnCelda = rang2search.Find(COD2search, LookIn:=xlValues)
If Not EnCelda Is Nothing Then
EnCelda.Select
Set TransRNG = Range(Selection, EnCelda.Offset(0, CantCeldas - 1))
TransRNG.Interior.ColorIndex = 6
OrigSheet = ActiveSheet.Name
M_Tit = "CONFIRME TRANSFERENCIA"
M_Mens = "El registro marcado será transferido" & Chr(10) & "a la base de Ex Empleados." & Chr(10) & "Acepte o Cancele"
GOON = MsgBox(M_Mens, vbOKCancel, M_Tit)
TransRNG.Interior.ColorIndex = xlNone
If GOON = vbOK Then
'pasaje de datos
TransRNG.Copy
Sheets(HojaDestino).Select
Range(PrimCelda).Select
ActRow = Range(PrimCelda).CurrentRegion.Rows.Count
Range(PrimCelda).Offset(ActRow).Select
Selection.PasteSpecial Paste:=xlValues
Selection.PasteSpecial Paste:=xlFormats
Range(PrimCelda).Offset(ActRow).Select
Application.CutCopyMode = False
Sheets(OrigSheet).Select
TransRNG.Delete Shift:=xlUp
M_Tit = "PROCESO TERMINADO"
M_Mens = "El código " & COD2search & " fue transferido a la base de Ex-empleados"
MsgBox M_Mens, vbInformation, M_Tit
Else
M_Tit = "PROCESO INTERRUMPIDO"
M_Mens = "NO se transfieren datos a la base de Ex-empleados, proceso termina aquí"
MsgBox M_Mens, vbInformation, M_Tit
End If
Else
M_Tit = "CODIGO INEXISTENTE"
M_Mens = "El código " & COD2search & " no existe en la base. Ingrese otro"
MsgBox M_Mens, vbExclamation, M_Tit
GoTo 88
End If
End If
End Sub
aclarando qué entendí mal o qué faltó.
Hola disculpa la tardanza, lo que sucede es de que he tenido problemas con el internet y no he podido contestarte, esto debido a problemas de seguridad con las maquinas.
Te agradezco infinitamente tu apoyo, he hecho lo que me sugeriste y todo fue un éxito, curiosamente tenia el mismo problema que la anterior persona paro todo ya salio bien, te envío un cordial saludo.
Atentamente
Gabriel Hernández

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas