Visual Basic para Aplicaciones - Buscar en Excel

Life is soft - evento anual de software empresarial
 
Vista:

Buscar en Excel

Publicado por Antonio (3 intervenciones) el 21/01/2009 02:38:00
Hola:
Estoy automatizando una hoja de Excel y necesito encontrar el texto que contiene una celda "x", de entre más de 600, dentro de una columna "y" en una base de datos.

Si lo hiciera sin automatizar sería muy sencillo: si tengo en una celda identificada (digamos por ejemplo en Range("K12")) el texto que deseo buscar en la base de datos, sólo tengo que copiar esa celda, seleccionar la columna en donde se que se encuentra, abrir el cuadro de diálogo "Find" o "Buscar", pegar con Control-V el texto y oprimir siguiente.

Pero si lo automatizo, no se como poner la instrucción de Visual Basic para que haga referencia y ENCUENTRE el texto que está en esa celda "K12". He dimensionado un nombre como String:
Sheets("Cualquiera").Select
Dim NombreSub As String
NombreSub = Range("K12").Text

Y luego le he pedido que me lo encuentre:
Selection.Find(What:=" & NombreSub & ", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

Pero me da error.

¿Alguien sabe como y me puede ayudar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Buscar en Excel

Publicado por JuanC (565 intervenciones) el 21/01/2009 14:12:38
haber si esto te ayuda...

Private Sub test()
Dim NombreSub As String
Dim rng As Range
NombreSub = Sheets(1).Range("B1").Text
Sheets(1).Range("A1:A100").Select
Set rng = Selection.Find(What:=NombreSub, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not rng Is Nothing Then
MsgBox "encontrado en " & rng.Address
End If
End Sub

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar en Excel

Publicado por carlos (1 intervención) el 04/07/2013 21:51:01
sabes yo quisiera un buscador pero que encuentre todas las filas q tengan una celda que empiezen con a o con cualquier palabra solo quiero de una columna por fa aver si me ayudan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de RICARDO JOSÉ

RE:Buscar en Excel

Publicado por RICARDO JOSÉ (14 intervenciones) el 06/07/2013 05:05:56
Hola Antonio

Creo que puedes encontrar el rango de celsas donde esta un string especificado. La intrucción es COINCIDIR y su uso es el siguiente

= COINCIDIR(Valor_Buscado; Rango_de_Busqueda; Tipo_de_Coincidencia)

Donde Tipo_de_Coincidencia = 0 Primera coincidencia
.......................................... = 1 Última coincidencia

Consulta la Ayuda de Excel

La hoja debe estar ordenada segun la columna de busqueda de menor a mayor

Espero te sea de utilidad

Ricardo
Caracas. Venezuela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar en Excel

Publicado por katia (1 intervención) el 26/06/2014 04:20:59
hola Ricardo quiero saber si puedes ayudarme:

tengo un formulario donde en un primer combobox selecciono el nombre de un solicitante y en el siguiente conbobox se selecciona los productos pero en este segundo combobox me tiene que aparecer solo lo que este solicitante aya pedido anteriormente.

como le hago para que me busque en la columna que es la D encuentre solo lo que el solicitante que esta en la columna m pero solo lo del solicitante que elegui en el primer combobox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar en Excel

Publicado por OMAR (1 intervención) el 11/06/2014 17:54:22
Hola Juan,
me gusto mucho tu codigo y andaba buscando algo parecido, pero tengo un problema y no se si me puedas ayudar a complementar algo, tengo una busqueda similar a la tuya pero en detalle es que solo me busca cuando el dato a buscar esta exactamente igual, pero lo que necesito es que lo busque si es que esta contenido en la celda sin importar que exitan mas datos ejemplo:

Rango (Hoja1, A2)= "HOLA" -----> ESTE DATO LO VOY A BUSCAR EN OTRA HOJA DENTRO DE LA UNA COLUMNA

Rango(Hoja2, E:E) = " MAS DATOS HOLA BUSCAR" ---> Aqui como se observa, la celda donde se estaria buscando contiene la palabrs "HOLA", por lo tanto me pegaria una dato relativa a la celda.

Pero esto es lo que no hace mi codigo, te paso mi codigo haber si me puedn apoyar.

gracias.
Sub buscar_coincidencias()

Dim rBusq, x As Range
Dim vb
rBusq = "=* & rBusq *"
For Each x In Sheets("WEB- TESI").[A2:A10].Cells 'Aqui pones el rango donde tienes los datos para los que quieres buscar
Set rBusq = Sheets("EP-SOL").[E2:E15].Find(x.Value, , , xlWhole) 'Aqui pones el rango donde quieres buscar
If rBusq Is Nothing Then
MsgBox ("Valor no encontrado: " & x.Value)
Else
Sheets("WEB- TESI").Cells(x.Row, x.Column + 1) = Sheets("EP-SOL").Cells(rBusq.Row, 1) 'El 1 es porque quieres el dato que esta en la Columna BEnd If
End If
Next x
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar en Excel

Publicado por ellecio (4 intervenciones) el 03/02/2015 03:39:14
Saludos
Tengo un libro de excel el cual tiene alrededor de 200 hojas con un formulario idéntico en todas, lo que deseo lograr con esto es crear un botón de consulta que contenga un inputbox, que cuando escriba el nombre de una celda en especifico, me abra la hoja que contiene esa celda con ese nombre en especifico. No se si me entienden pero agradecere mucho la ayuda.

Bendiciones desde R.D.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar