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

Excel: Buscar un dato y seleccionarlo

Estas en el tema de Excel: Buscar un dato y seleccionarlo en el foro de Ofimática en Foros del Web. Hola Colegas, tengo un codigo en excel, para buscar un numero de pedido que escribo en la Hoja1, y este codigo lo busca en la ...
  #1 (permalink)  
Antiguo 04/10/2009, 16:38
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Excel: Buscar un dato y seleccionarlo

Hola Colegas, tengo un codigo en excel, para buscar un numero de pedido que escribo en la Hoja1, y este codigo lo busca en la Hoja12:
si este está, selecciona dicha fila


El problema ocurre si el numero que escribo no coincide con los que hay me da error. Y si no escribo nada me da "verdadero" como resultado de busqueda?Necesito ayuda en el codigo para clasificar los errores y que lo mencione en el msgbox

Sub prueba()

Hoja12.Select
Application.ScreenUpdating = False



busca_envio = [D:D].Find(What:=Hoja1.Range("H53").Value).Activate

If busca_envio = True Then 'no se porq da valor verdadero cuando no tiene parametro de busqueda
MsgBox ("no esta")
Else
If busca_envio <> verdadero Then

Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
MsgBox ("encontrado")
End If
End If


Application.ScreenUpdating = True
End Sub
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 05/10/2009, 11:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Excel: Buscar un dato y seleccionarlo

Prueba esto:
Código vb:
Ver original
  1. Dim busca_envio As Range
  2. Set busca_envio = [D:D].Find(What:=Hoja1.Range("H53").Value)
  3. If Not busca_envio Is Nothing Then
  4.     busca_envio.Activate
  5.     'Encontrado
  6. Else
  7.     'No encontrado
  8. End If
Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/10/2009, 11:50
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: Excel: Buscar un dato y seleccionarlo

Hola! amigo: es un gusto saludarte...

Mira, tienes un par de "errorcillos" conceptuales. Observa lo siguiente:


Código PHP:
Sub Prueba()
Dim Celda_envio As Range

Set Celda_envio 
Hoja12.[d:d].Find(What:=Hoja1.[h53], LookAt:=xlWhole)
If 
Celda_envio Is Nothing Then MsgBox ("No está"): Exit Sub

Application
.Goto Celda_envio.EntireRow
MsgBox 
("Encontrado")

Set Celda_envio Nothing
Application
.ScreenUpdating True
End Sub 
Nota que "Celda_envio" representa -ahora- una celda. De este modo el método Find es aplicado sin moverte de la hoja activa.

La comparación "If" contra "Nothing" es siempre cierta y efectiva.

Finalmente, el método Application.Goto (que equivale a presionar la tecla "F5" te moviliza desde la hoja activa hasta la fila que contiene el dato.

Espero te haya sido de utilidad.
Saludos, Cacho.
  #4 (permalink)  
Antiguo 05/10/2009, 11:52
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: Excel: Buscar un dato y seleccionarlo

¡¡¡Ups!!!
Veo que "nos cruzamos" con el amigo David... y coincidiendo en la idea (¡menos mal!).
  #5 (permalink)  
Antiguo 05/10/2009, 13:08
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Respuesta: Excel: Buscar un dato y seleccionarlo

Muchas gracias David y Mrocf, nuevamente me han sido de gran ayuda, los pondre en uso, saludos
__________________
-- Nunca te des por vencido, aún vencido -- Web
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 15:37.