Saltar al contenido

Seleccionar todas las celdas con una palabra concreta


Recommended Posts

publicado

Hola,  me gustaría saber como es el comando de VBA para seleccionar todas las celdas de una hoja que contengan una palabra concreta. Lo necesito con VBA para luego enlazarlo con otra cosa. Sé hacerlo con la funcionalidad de Buscar; Buscar todas. Gracias.

publicado

Supongamos que la palabra a seleccionar es "Buscar"

Participo con esta sentencia:

Sub SeleccionarCeldas()
    Dim rango As Range
    Dim unionRango As Range
    Set rango = ActiveSheet.UsedRange
    For Each celda In rango
        If UCase(celda.Value) Like "*BUSCAR*" Then
            If unionRango Is Nothing Then
                Set unionRango = celda
            Else
                Set unionRango = Union(unionRango, celda)
            End If
        End If
    Next celda
    If Not unionRango Is Nothing Then unionRango.Select
End Sub

Esta debería cumplir con lo requerido.

Saludines.

publicado

Israel, muchas gracias por tu ayuda.  Era justo lo que necesitaba. Lo estoy intentando con celdas que contienen más de una palabra, y ahí parece que no me funciona, habría que añadir algo al código?  Y si en vez de una palabra que tengo que buscar, fuesen 3?

Gracias de nuevo.

 

publicado

Lamento si soy molesto, pero consultaste esto:

En 28/6/2023 at 9:05 , pneox dijo:

como es el comando de VBA para seleccionar todas las celdas de una hoja que contengan una palabra concreta.

Aunque hiciste la prueba con esto:

hace 8 horas, pneox dijo:

Lo estoy intentando con celdas que contienen más de una palabra

Pareciera ser lo mismo, pero no es igual.

Para buscar varias palabras en lugar de solo una, debes modificar la condición dentro del bucle For Each de la macro anterior. Por ejemplo, la condición If la tendrías que modificar para buscar tres palabras diferentes digamos: “buscar”, “palabra2” y “palabra3”.

Siempre puedes agregar más palabras a la condición If si deseas buscar más palabras.

Saludines

publicado

No pregunte sobre cómo andas en temas de VBA, lamento eso.

Un ejemplo del cambio podría ser así:

For Each celda In rango
    If UCase(celda.Value) Like "*BUSCAR*" Or UCase(celda.Value) Like "*PALABRA2*" Or UCase(celda.Value) Like "*PALABRA3*" Then
        If unionRango Is Nothing Then
            Set unionRango = celda
        Else
            Set unionRango = Union(unionRango, celda)
        End If
    End If
Next celda

Eso debería ayudarte con el cambio consultado.

publicado

Por otro lado.

Si te refieres a que la celda contenga más palabras y no únicamente la palabra concreta, el primer código que te pase no debería tener problema con seleccionarla. Es decir si tienen "Buscar" la selecciona, si tiene "Estoy buscando la palabra buscar" también la selecciona.

SQrK1.gif

publicado

Hola Israel, tienes toda la razón. Discúlpame por no haber planteado la cuestión de forma correcta desde el principio. Y también por mi limitado manejo de VBA :( . Algo debo estar haciendo mal, porque las celdas que tienen varias palabras no me las busca. Te adjunto un ejemplo, para intentar ser más claro y no haceros perder el tiempo. Lo que intento es que se seleccionen las celdas que he coloreado en azul, una de ellas tiene una sola palabra, pero el resto tiene varias. Dentro del libro está la macro que me has dicho, pero al darle a ejecutar, no me hace la busca correctamente. Disculpa una vez más por no ser claro desde el principio.  

Prueba.xlsm

publicado

Dame oportunidad de ver qué se puede hacer.

hace 28 minutos , pneox dijo:

Y también por mi limitado manejo de VBA :( 

Sobre eso no hay problema, no tienes que lamentarlo no todos sabemos TODO de Excel, hay quien se le da mejor las fórmulas, otros los códigos, y así.

 

publicado

Guauu, ahora sí funciona perfecto. Un millón de gracias, y disculpa las molestias. 

Eres un genio!!!!

publicado

Para nada, la realidad es que aún me falta mucha practica por hacer y en comparación con los Maestros que hay en el foro me queda bastante por aprender. Por eso me uní al foro, no siempre se puede ayudar pero en lo que sea posible se hace el intento.

En casos como esté se dificulta más el transmitir y recibir la idea, quien consulta lo tiene muy claro pero para quien intenta ayudar no siempre se entiende de primera. Es por eso que se insiste mucho en los libros de ejemplo y aquí se fue de menos a más.

Me da gusto que hayas podido resolver tu problema y si puedes marcar lo que para ti sea solución le ahorrará tiempo y ayudará posibles futuros lectores.

Saludines

pulgar-imagen-animada-0007.gif

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.