Imprimir página | Cerrar ventana

Limpiar contenido celdas con criterio

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86534
Fecha de impresión: 05/Febrero/2023 a las 04:27


Tema: Limpiar contenido celdas con criterio
Publicado por: paloma
Asunto: Limpiar contenido celdas con criterio
Fecha de publicación: 20/Noviembre/2022 a las 15:21
Hola

Deseo buscar en toda la hoja de excel, desde access, las celdas que tienen el valor "#" y limpiar su contenido pero no lo consigo:

xlSht.Range("A1:AD2000").Find(what:="#").ClearContents

Pongo el rango A1:AD2000 por poner unos máximos pero si hay otra forma de hacer referencia a toda la hoja, sería deseable,

¿Alguna ayuda?

Gracias

Saludos,



Respuestas:
Publicado por: pitxiku
Fecha de publicación: 20/Noviembre/2022 a las 22:50
De Excel no entiendo mucho, pero la ayuda dice que devuelve un objeto Range con la primera coincidencia, no todas las coincidencias. Después tienes que usar FindNext para encontrar las siguientes. En la ayuda online hay un ejemplo para reemplazar texto, tal vez te sirva; además, en el ejemplo, una vez no encuentran nada acaba la ejecución, con lo que el Range inicial puede ser más grande de lo necesario (creo):

https://learn.microsoft.com/es-es/office/vba/api/excel.range.find" rel="nofollow - Método Range.Find (Excel) | Microsoft Learn


Publicado por: paloma
Fecha de publicación: 21/Noviembre/2022 a las 20:22

Gracias pitxiku. Al final lo he conseguido de esta forma :)

   Dim xlCel As Range
   For Each xlCel In Range("A1:AI6000")
    If xlCel.Value = "#" Then xlCel.Clear
   Next xlCel

Saludos



Imprimir página | Cerrar ventana