CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor horaciomillan » 25 Feb 2010 18:36

Cordial saludo desde Colombia.

Deseo conocer la macro que me premito identificar si el contenido de una variable hace parte de una celda; no es igualacion de valor de celda frente a contenido de variable; lo que requiero es si el valor de la variable está contenido en la celda.

Gracias por su atención.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
horaciomillan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 11 Ago 2007 11:32

Re: CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor galileogali » 25 Feb 2010 21:32

Prueba la Funcion Instr
algo asi
Código: Seleccionar todo
Option Explicit

Sub test()
Dim strInter As String
Dim strIncluye As String
strInter = "cord"
strIncluye = [D2].Value
If InStr(1, strIncluye, strInter) Then
MsgBox "Correcto"
End If
End Sub


GALILEOGALI
http://excelgali.mejorforo.net/
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor mjrofra » 25 Feb 2010 23:13

Hola horacio y Gali,

otra opción podría ser usar el operador like con el comodón *. Siguiendo con tu ejemplo Gali, algo así:

Código: Seleccionar todo
Sub prueba1()
    If Range("a1") Like "*cord*" Then
        MsgBox "Correcto"
    End If
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
mjrofra
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Dic 2009 21:08
Ubicación: Colombia

Re: CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor horaciomillan » 26 Feb 2010 00:48

Muchas gracias a los dos por su gentil apoyo.

estuve revisando lo que me proponen y desarrollé la macro de acuerdo a lo que necesito.
la idea es tener una lista de datos en la columna A y que la palabra "dato" aparezca en una celda pero acompañada de otros valores. Lo he probado y funciona muy bien, muchas gracias por su gentil apoyo, que bueno es contar con su respaldo y ayuda.

Saludo cordial.

Sub busqueda()

Dim variable As Variant
variable = "*dato*"

Sheets("hoja1").Select
Range("a1").Select

Do While ActiveCell <> ""

If ActiveCell Like variable Then
MsgBox "El dato si está en la celda"

GoTo proceso

Else

ActiveCell.Offset(1, 0).Select

End If


Loop
MsgBox "el dato buscado no existe en el archivo"

proceso:
' en caso de que si, se llama a la macro que ejecuta el proceso

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
horaciomillan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 11 Ago 2007 11:32

Re: CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor mjrofra » 26 Feb 2010 22:30

Pues qué bueno que haya funcionado Horacio, viendo tu macro resultante, de pronto puedas evitar el bucle y mejor usar el método .find, algo así hará lo que quieres hacer como un rayo :D (si es que interpreté bien tu código):

Código: Seleccionar todo
Sub busqueda()

    Dim encontrado As Range
    Dim variable As String
    variable = "dato"
     
    Set encontrado = _
        Sheets("hoja1").UsedRange.Columns(1).Find(what:=variable, _
                                                  LookIn:=xlValues, _
                                                  lookat:=xlPart, _
                                                  MatchCase:=False)
   
    If encontrado Is Nothing Then
        MsgBox "el dato buscado no existe en el archivo"
    Else
        encontrado.Select
        MsgBox "El dato está en la celda " & encontrado.Address
        ' en caso de que si, se llama a la macro que ejecuta el proceso
        Set encontrado = Nothing
    End If

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
mjrofra
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Dic 2009 21:08
Ubicación: Colombia

Re: CODIGO VBA PARA BUCAR SI CELDA CONTIENE...

Notapor horaciomillan » 27 Feb 2010 18:11

Me parece una estupenda idea, creo que ha interpretado muy bien mi macro. La voy a intalar a mi modelo, gracias por su gentil atención.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
horaciomillan
Miembro Frecuente
Miembro Frecuente
 
Registrado: 11 Ago 2007 11:32


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 3 invitados