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

funcion buscar palabra que retorna cierto o falso

Estas en el tema de funcion buscar palabra que retorna cierto o falso en el foro de Ofimática en Foros del Web. necesito una macro para excel que me haga lo mismo que la opcion de buscar, pero que la funcion me devuelva cierto si encontro la ...
  #1 (permalink)  
Antiguo 21/12/2009, 06:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
funcion buscar palabra que retorna cierto o falso

necesito una macro para excel que me haga lo mismo que la opcion de buscar, pero que la funcion me devuelva cierto si encontro la palabra, o falso sino la encontro.

Algo parecido a esto, pero con la condicion anteriormente especificada, ya que esta función la utilizo para buscar palabras en diferentes archivos excel llamándola desde una aplicación externa, que espera, para cada archivo excel, un cierto o un falso.

Sub buscar(cadena As String) As boolean

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

// Aquí me faltaría la condición de si la ha encontrado o no, y retornar cierto o falso

End Sub
  #2 (permalink)  
Antiguo 21/12/2009, 09:36
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
Respuesta: funcion buscar palabra que retorna cierto o falso

Prueba esto:
Código:
Sub buscar()
'en caso de error, que continúe
On Error Resume Next
'definimos la palabra (o frase a buscar)
palabreja = "hola"
'la buscamos y nos situamos sobre ella
Cells.Find(What:=palabreja).Activate
'si no le hemos encontrado, nos dará error nº 91
If Err = 91 Then
    'en caso de error, la hemos jodido
    dato = False
Else
    'si no hay error, mucho mejor :-)
    dato = True
End If
'escribimos el dato en un msgbox
MsgBox (dato)
End Sub
Saludos.
  #3 (permalink)  
Antiguo 23/12/2009, 10:50
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: funcion buscar palabra que retorna cierto o falso

Muchas gracias.

Hoy lo he probado y me a sido de gran utilidad la parte del error. Mi código queda así:

' funcion que de vevuelve cierto si encuentra una palabra o falso si no esta
Function Buscar(cadena As String) As Boolean

'en caso de error, que continúe

On Error Resume Next
'buscamos la palabra y nos situamos sobre ella
Cells.Find(What:=cadena).Activate
'si no le hemos encontrado, nos dará error nº 91
If Err = 91 Then
'en caso de error, devolvera que no la ha encontrado
dato = False
Else
'si no hay error, devolvera que la ha encontrado
dato = True
End If
'retornemos el parametro
Buscar = dato

End Function



Ahora sólo me falta una cosilla para que sea exactamente lo que necesito. Que consiga buscarme la palabra en todas las hojas del archivo Excel, no sólo en la hoja activa.

Gracias de antemano.

Saludos.
  #4 (permalink)  
Antiguo 28/12/2009, 12:22
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
De acuerdo Respuesta: funcion buscar palabra que retorna cierto o falso

Hola! Negu.
Podrías intentar algo así:

Código PHP:
Function BuscarCadena(cadena As String) As Boolean
Dim Celda 
As RangeHoja As Object

For Each Hoja In ActiveWorkbook.Sheets
  Set Celda 
Hoja.Cells.Find(What:=cadenaLookIn:=xlValuesLookAt:=xlWhole)
  If 
Not Celda Is Nothing Then
    BuscarCadena 
TrueSet Celda Nothing: Exit Function
  
End If
Next Hoja

BuscarCadena 
False
End 
Function 
Saludos, Cacho.

Última edición por mrocf; 28/12/2009 a las 12:30
  #5 (permalink)  
Antiguo 04/01/2010, 03:03
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: funcion buscar palabra que retorna cierto o falso

Esto es exactamente lo que necesitaba.

Muchísimas gracias a los dos.

Saludos.
  #6 (permalink)  
Antiguo 04/01/2010, 08:17
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: funcion buscar palabra que retorna cierto o falso

Gracias en nombre de "3pies" y mío por la devolución (tardía... pero devolución al fin).
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 00:07.