** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Limpiar contenido celdas con criterio
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Limpiar contenido celdas con criterio

 Responder Responder
Autor
Mensaje
paloma Ver desplegable
Nuevo
Nuevo


Unido: 24/Junio/2010
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita paloma Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Limpiar contenido celdas con criterio
    Enviado: 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,
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1399
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 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):

Arriba
paloma Ver desplegable
Nuevo
Nuevo


Unido: 24/Junio/2010
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita paloma Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 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
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable