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

Buscar En Excel

Estas en el tema de Buscar En Excel en el foro de Ofimática en Foros del Web. Hola haber si es posible y alguien me ayuda. Tengo una tablas en excel en las cuales hay en una columna A todos los codigos ...
  #1 (permalink)  
Antiguo 29/06/2006, 20:18
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
Exclamación Buscar En Excel

Hola haber si es posible y alguien me ayuda. Tengo una tablas en excel en las cuales hay en una columna A todos los codigos de unos productos, en la B la descripcion, hice mediante la herramienta de visual que trae excel un formulario de busqueda con la intension de que al ingresar en un textbox un codigo, me lo busque y me traiga ladescripcion a un label, como puedo hacer para que al hacer click en un commando me haga eso, como iria el codigo para que me recorra cada celda de la columna A y me busque el codigo? y si lo encuentra que me muestre la descripcion que lo acompaña en la celda de la columna B? Gracias alq ue pueda asesorarme.
  #2 (permalink)  
Antiguo 03/07/2006, 05:56
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Mira este ejemplo que he hecho. Creo que es lo que buscabas...

Fíjate en el módulo de VBA, que hay un formulario que hace las veces de buscador y de sitio donde se muestran los resultados...

La etiqueta 2, donde va la descripción, la he puesto de otro color para que veas donde está situada.

Salu2

PD: El fichero se puede arreglar, para que no de error en el caso de no encontrar un código, pero eso te lo dejo para tí
  #3 (permalink)  
Antiguo 03/07/2006, 13:52
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
oye, muchas gracias por la macro, ya me hago una idea de como puede ser esto mirando el código VBA

gracias amigo
saludos
__________________

***Aprendiz de todo y maestro de nada***
  #4 (permalink)  
Antiguo 05/07/2006, 21:54
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
Oye Amigo Mil Gracias, Es Excelente, Es Lo Que Queria, Lo Demas Yo Lo Adecuo. Mil Gracias Viejo
  #5 (permalink)  
Antiguo 09/07/2006, 19:52
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
3Pies, Oye y si el codigo no se encuentra en la columna como hago para que me genere un msgbox y no me genere error de compilacion? GRCIAS
  #6 (permalink)  
Antiguo 10/07/2006, 02:07
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
En el ejemplo anterior, cambia el código que hay por este otro más elaborado.
Código:
Private Sub CommandButton1_Click()
'Ocultamos el procecimiento, para que no se muestre en pantalla,
'como recorre todas las filas, en busca del código
Application.ScreenUpdating = False
'Indicamos cual es la celda actual donde estamos, para volver a ella posteriormente,
'así parecerá que no nos hemos movido del sitio :-)
dondeestoy = ActiveCell.Address
'Si hay un error saltamos a la línea "mensaje_error"
On Error GoTo mensaje_error
'Pasamos el código a buscar, a una variable,
'eliminando los posibles espacios vacíos que haya delante y detrás del código
codigo_a_buscar = Trim(TextBox1.Value)
'Lo buscamos, coincidiendo todo el contenido de la celda, con el código,
'ya que con el anterior código, si buscábamos el artículo "M33", nos lo
'encontraba ya que había un artículo cuyo código contenía esos caracteres (M33RRG)
Cells.Find(What:=codigo_a_buscar, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
  :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
  False, SearchFormat:=False).Activate
'Seleccionamos el valor de la columna de la derecha (descripción),
'y pasamos ese valor a una variable
descripcion_del_codigo = ActiveCell.Offset(0, 1).Value
'Si un artículo no tiene descripción, creamos una descripción que indique
'que el artículo no tiene descripción :-)
If descripcion_del_codigo = "" Then descripcion_del_codigo = "Artículo sin descripción"
'Lo ponemos en la etiqueta oculta, pero delante ponemos el artículo,
'y el signo igual, siempre y cuando el código exista
If codigo_a_buscar <> "" Then
    Label2.Caption = codigo_a_buscar & " = " & descripcion_del_codigo
End If
'Limpiamos (quitamos) el código introducido
TextBox1.Value = ""
'Ponemos el focus en el cuadro de texto
TextBox1.SetFocus
'Volvemos a la celda donde estábamos inicialmente
Range(dondeestoy).Select
'Mostramos el procedimiento
Application.ScreenUpdating = True
'Finalizamos el macro
Exit Sub
'Código que se ejecuta, en caso de encontrarnos con un error
mensaje_error:
    'Mostramos un mensaje
    Mensajillo = MsgBox(Chr(13) & "    Artículo no encontrado." & Chr(13) & "    Por favor, vuelve a intentarlo.    ", vbOKOnly, "Lo sentimos...")
    'Limpiamos (quitamos) el código introducido
    TextBox1.Value = ""
    'Ponemos el focus en el cuadro de texto
    TextBox1.SetFocus
End Sub
Salu2

Última edición por 3pies; 10/07/2006 a las 04:56
  #7 (permalink)  
Antiguo 12/07/2006, 23:00
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
Hola amigo, sabes pegue el codigo pero nose me genera el mensaje de error con cualquier codigo. Sera mucho pedir si me adecua el archivo que me regalo con el nuevo codigo y lo adjuntas para descargarlo, te lo agradeceria muchisimo. Mil gracias amigo -
  #8 (permalink)  
Antiguo 13/07/2006, 00:23
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Aquí lo tienes, con los cambios que comentaba en mi último mensaje. Guárdalo en tu PC, porque si lo abres on line, puede que no funcione correctamente.

Salu2
  #9 (permalink)  
Antiguo 13/07/2006, 19:13
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
Amigo 3pies Eres Un Vacan, Gracias .
  #10 (permalink)  
Antiguo 08/02/2007, 16:15
 
Fecha de Ingreso: junio-2006
Mensajes: 240
Antigüedad: 17 años, 10 meses
Puntos: 1
Re: Buscar En Excel

3pies, sabe este mensaje es viejito, pero me sirvio mucho, pero tuve un problema al trabajarla en Excel 97, me genera un error aca:

"No se encontro el argumento con nombre"

y me resalta esta parte del codigo:

Cells.Find(What:=codigo_a_buscar, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

Lo que esta en amarillo.

En excel 2003 mwe funciona bien, como lo puedo adecuar para excel 97? Gracias amigo, muy gentil
  #11 (permalink)  
Antiguo 09/02/2007, 03:58
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Buscar En Excel

Le puedes quitar esto, que también funciona (quita la coma, y lo que te da error, hasta llegar al paréntesis de cierre):
Código:
, SearchFormat:=False
Salu2
  #12 (permalink)  
Antiguo 21/05/2007, 14:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Buscar En Excel

che, no puedo bajar tu prueba..... no esta mas el archivo???

gracias
  #13 (permalink)  
Antiguo 22/05/2007, 01:47
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Buscar En Excel

Estás de suerte porque todavía guardo ese ejemplo...

He vuelto a subirlo de nuevo aquí: http://www.megaupload.com/es/?d=LPOS0JI5

Salu2
  #14 (permalink)  
Antiguo 22/05/2007, 12:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Buscar En Excel

javi, tengo este codigo de busqueda, muy simple...

Sub Macro2()
'
' Macro2 Macro
' Macro grabada el 22/05/2007 por Pstartari
'
'
Sheets("Hoja2").Select
[A.C].Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
End Sub

lo necesito es llenar datos en una Hoja, llamada Hoja1, estos datos son, "Nº de empleado" y "codigo de articulo". No siempre me acuerdo el código del articulo, entonces tengo que buscar en la hoja del stock de articulos, buscar en TODO el listado y fijarme el código del artículo para poder ponerlo en la Hoja1 y asi asignarlo al empleado. Yo necesito un "Buscador", que mientras esté ingresando los datos del Empleado-Artículo en Hoja1 y tenga alguna duda, le ponga parte del nombre del artículo (que están todos en la Hoja2) y me de las opciones de artículos...

Les pongo un ejemplo simple.
Nº Emple_Nomb.Empl_______Cod.Art._____ Articulo
12...........Pablo López...........5421...........Cuaderno de 48 hojas
15...........Silvana Ruiz...........5428...........Cuaderno de 96 hojas
18...........Alejandro Pérez......*-"justo aca no se cual es el codigo"

Entonces quiero q dentro de un "Buscador Básico" yo le ponga en un textbox
"120" y me de por ejemplo el siguiente resultado

Cod.Art.____________Articulo
5432..................Cuaderno de 120 hojas
8745..................Cassette de 120 minutos
6475..................Cinta papel 120 cm.

Espero haberme explicado. Cualquier cosa me decis...
gracias


Me explique...?

Gracias
  #15 (permalink)  
Antiguo 23/05/2007, 05:03
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Buscar En Excel

Mira a ver si esto es lo que buscabas: http://files-upload.com/es/243419/bu...ueba4.xls.html

Cualquier adaptación la dejo en tus manos, porque creo que está todo bastante explicado.

Salu2

PD: En files-upload, hay que esperar el contador hasta que llegue a cero, y pulsar sobre "Download link".
  #16 (permalink)  
Antiguo 23/05/2007, 07:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Buscar En Excel

3 Pies- Gracias por mandarme el archivo, en files-upload puedo descargar sin ningun drama.
Gracias, lo estoy bajando y te digo como me fue!!!

obistein
  #17 (permalink)  
Antiguo 24/05/2007, 10:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Buscar En Excel

3Pies, modifique un poco el codigo que me diste, para q me busque en un rango de 2 filas "E:F". Ahora el drama mio es que me muestre el resultado en la "Label2" pero en este orden
Primero los datos de la columna D, luego un caracter cualquiera(puede ser "="), luego los datos del la Columna E y despues los de la F.
O sea, en la Columna D tengo el Nº Empleado, en la E, el Nombre y en la F el apellido, quiero que me ponga:
D = E F
Nº = Pablo Ramirez


Te paso el código que arreglé. Gracias

With Hoja5.Range("E3:F400")
Set vamos_a_buscar = .Find(articulo_a_buscar, LookIn:=xlValues)
If Not vamos_a_buscar Is Nothing Then
principio = vamos_a_buscar.Address
Do
'Pasamos los datos a un array
descripcion_del_articulo = descripcion_del_articulo & "," & vamos_a_buscar.Value
articulo = articulo & "," & Hoja5.Range(vamos_a_buscar.Address).Offset(0, -1)
Set vamos_a_buscar = .FindNext(vamos_a_buscar)
Loop While Not vamos_a_buscar Is Nothing And vamos_a_buscar.Address <> principio


Perdón, me falto un pedazo del código

End If
End With
'Quitamos la coma inicial
descripcion_del_articulo = Mid(descripcion_del_articulo, 2)
articulo = Mid(articulo, 2)
'Seleccionamos el artículo de la columna de la izquierda (código)
'Lo ponemos en la etiqueta oculta, pero delante ponemos el artículo,
'y el signo igual, siempre y cuando el código exista
articulo = Split(articulo, ",")
descripcion_del_articulo = Split(descripcion_del_articulo, ",")
For i = 0 To UBound(articulo)
If i <> 0 Then intro = Chr(13)
Label2.Caption = Label2.Caption & intro & articulo(i) & " = " & descripcion_del_articulo(i)
Next

Última edición por obistein; 24/05/2007 a las 11:01
  #18 (permalink)  
Antiguo 25/05/2007, 01:54
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Buscar En Excel

El problema que se plantea es saber si la búsqueda se realiza por el nombre o por el apellido. Si se realiza por el nombre, tendremos que añadir detrás el contenido de la columna de la derecha (apellido), y al principio, el contenido de la columna anterior (código).

Si en cambio, la búsqueda se realiza por el apellido, tendremos que añadirle delante la columna inmediatamente anterior (nombre), y delante del nombre, dos columnas antes respecto al apellido, pondremos el código.

Solucionado ese ligero contratiempo, esta es la solución: http://files-upload.com/es/248101/bu...ueba5.xls.html

Analiza el código, que hay algunas diferencias dada la peculiaridad de la búsqueda.

Salu2
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:26.