Consulta de palabra clave en diferentes hojas de un libro. Mostrar resultados y luego poder ir a cada referencia encontrada

20/11/2006 - 22:57 por Vampirone | Informe spam
Hola.. como podría realizar una Consulta con visual basic en excel de
una palabra clave buscando en todas las hojas de un libro. El resultado
debería ser algo parecido a una lista que me permita ir a cada
referencia encontrada...

Preguntas similare

Leer las respuestas

#1 David
20/11/2006 - 23:48 | Informe spam
Prueba esto como punto de partida:

En un libro cualquiera, crea un formulario llamado "Form1", y le insertas un
control Cuadro de Lista llamado "ListBox1". Luego asignas el siguiente
código al formulario personalizado.

Private Sub ListBox1_Click()
Range(ListBox1.Value).Select
End Sub

Private Sub UserForm_Initialize()
Dim r, celda As String
celda = ActiveCell.Address
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
Rango = "A1:" & ActiveCell.Address
Range(Rango).Select
For Each x In Selection.Cells
'Suponiendo que el texto buscado es [38.]...
If InStr(1, CStr(x.Value), "38.") > 0 Then
ListBox1.AddItem pvargitem:=x.Address
End If
Next x
Range(celda).Select
End Sub


PD:
Esto te funciona para una hoja. El resto te lo dejo. Tendrías que recorrer
todas las hojas del libro, ejecutando el código anterior en ellas, y agregar
a tu ListBox1 el nombre de la hoja en una forma reconocible para Range( )...



"Vampirone" escribió:

Hola.. como podría realizar una Consulta con visual basic en excel de
una palabra clave buscando en todas las hojas de un libro. El resultado
debería ser algo parecido a una lista que me permita ir a cada
referencia encontrada...


Respuesta Responder a este mensaje
#2 AnSanVal
20/11/2006 - 23:52 | Informe spam
¿En todas las hojas del libro y en todas las más de dieciseis millones de
celdas que tiene cada hoja?, o ¿en ciertas columnas?, o ¿en cierto rango?

¿Comentas detalles más precisos?

Saludos desde Tenerife.
**********************
"Vampirone" escribió en el mensaje
news:
Hola.. como podría realizar una Consulta con visual basic en excel de
una palabra clave buscando en todas las hojas de un libro. El resultado
debería ser algo parecido a una lista que me permita ir a cada
referencia encontrada...
Respuesta Responder a este mensaje
#3 zz
20/11/2006 - 23:54 | Informe spam
Mira a ver si puedes adaptar este codigo

necesitas: crear un userform con un control textbox llamado textbox1, un
label llamado label1 y un control listbox llamado listBox1

esta en ingles porque la aplicacion que estoy escribiendo esta en ingles y
me enredo menos :=|



Private Sub find_in_all_sheets()
Dim c As Range
Set c = Cells.Find(TextBox1.Text, LookIn:=xlValues)
For Each c In ActiveSheet.UsedRange ' this line is for delimite the search
to cells with values
If c.Value = TextBox1.Text Then
ListBox1.AddItem "Value: " & c.Value & " Found in cell :" &
Replace(c.Address, "$", "")' to avoid getting addresses like $c$16
End If
Next
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
find_in_all_sheets
Else
Exit Sub
End If
End Sub

private sub userform_initialize
label1.caption="Search term: "
end sub



espero que te sirva, se agradecen comentarios.

zz [MX]
cuasi-musico,semi-poeta y loco


"Vampirone" wrote in message
news:
Hola.. como podría realizar una Consulta con visual basic en excel de
una palabra clave buscando en todas las hojas de un libro. El resultado
debería ser algo parecido a una lista que me permita ir a cada
referencia encontrada...
Respuesta Responder a este mensaje
#4 zz
21/11/2006 - 00:48 | Informe spam
Esta "ligera" modificación te selecciona la celda donde se encuentra el
valor.


Private Sub find_in_all_sheets()
Dim c As Range, i As Integer
Set c = Cells.Find(TextBox1.Text, LookIn:=xlValues)
For Each c In ActiveSheet.UsedRange
i = 0
If c.Value = TextBox1.Text Then
ListBox1.AddItem "Value: " & c.Value & " Found in cell :" &
Replace(c.Address, "$", ""), i
ListBox1.ColumnHeads = True
ListBox1.ColumnCount = 2
ListBox1.Column(2, i) = (Replace(c.Address, "$", ""))
i = i + 1
End If
Next
End Sub
Private Sub ListBox1_Click()
Dim i As Integer
i = ListBox1.ListIndex
With ActiveSheet
.Range(ListBox1.Column(2, i)).Activate
End With
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
find_in_all_sheets
Else
Exit Sub
End If
End Sub




"zz" wrote in message
news:
Mira a ver si puedes adaptar este codigo

necesitas: crear un userform con un control textbox llamado textbox1, un
label llamado label1 y un control listbox llamado listBox1

esta en ingles porque la aplicacion que estoy escribiendo esta en ingles y
me enredo menos :=|



Private Sub find_in_all_sheets()
Dim c As Range
Set c = Cells.Find(TextBox1.Text, LookIn:=xlValues)
For Each c In ActiveSheet.UsedRange ' this line is for delimite the search
to cells with values
If c.Value = TextBox1.Text Then
ListBox1.AddItem "Value: " & c.Value & " Found in cell :" &
Replace(c.Address, "$", "")' to avoid getting addresses like $c$16
End If
Next
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
find_in_all_sheets
Else
Exit Sub
End If
End Sub

private sub userform_initialize
label1.caption="Search term: "
end sub



espero que te sirva, se agradecen comentarios.

zz [MX]
cuasi-musico,semi-poeta y loco


"Vampirone" wrote in message
news:
Hola.. como podría realizar una Consulta con visual basic en excel de
una palabra clave buscando en todas las hojas de un libro. El resultado
debería ser algo parecido a una lista que me permita ir a cada
referencia encontrada...


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida