Visual Basic para Aplicaciones - Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Publicado por Ricardo (4 intervenciones) el 13/10/2015 20:14:51
Hola,

Apenas estoy aprendiendo Macros en Excel y necesito crear una macro que abra un archivo texto o xml y busque una palabra especifica y me traiga el número de fila en el que se encuentra.

Agradezco me puedan colaborar,
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 Royeth
Val: 42
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Publicado por Royeth (22 intervenciones) el 13/10/2015 20:38:33
si lo que vas a buscar puede estar en cualquier lugar de la hoja

entonces puedes hacer

1
2
3
4
5
6
7
Sub ijas()
palabra = InputBox("Ingrese la palabra a buscar")
If palabra <> "" Then
Cells.Find(What:=palabra, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
MsgBox "Se encuentra en la fila " & ActiveCell.Row
End If
End Sub



Saludos
espero te sea de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Publicado por Ricardo (4 intervenciones) el 13/10/2015 21:03:29
Hola Royeth, gracias por tu ayuda, pero esto me funciona para excel, pero la busqueda necesito hacerla sobre el fichero de texto o sobre un fichero xml, y necesito que me.traiga el numero de fila en el que se encuentre esa palabra.
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 Royeth
Val: 42
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Publicado por Royeth (22 intervenciones) el 13/10/2015 23:05:49
bueno si tienes un archivo txt entonces sería de la siguiente forma

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub ejemplo()
Dim palabra As String
Dim hh As String
palabra = InputBox("Ingrese la palabra a buscar")
strFileName = Application.GetOpenFilename()
Open strFileName For Input As #1
lineas = Split(Input$(LOF(1), #1), vbLf)
Close #1
For i = 0 To UBound(lineas)
If Left(lineas(i), Len(lineas(i)) - 1) = palabra Then
k = i + 1
Exit For
End If
Next i
If Not IsEmpty(k) Then
MsgBox palabra & " Está en la fila " & k
Else
MsgBox palabra & " No Está en la lista "
End If
End Sub

Aquí te adjunto el ejemplo con el que la probé
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Como buscar una palabra en un fichero .txt o .xml y traer numero de linea del registro

Publicado por Ricardo (4 intervenciones) el 13/10/2015 23:22:39
Gracias Royeth

Excelente codigo, funciona perfecto!!!!
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