Saltar al contenido

macro para borrar celdas con contenido espécifico

publicado

Buenas tardes

Agradeceré nuevamente de su ayuda

Tengo un rango de valores que van cambiando, ya que están vinculado a una serie de operaciones.

He confeccionado una fila auxiliar para que los errores de la fila anterior se conviertan en FALSO

Lo que estoy buscando es:

1- una macro para borrar los datos de las celdas que dan error

o

2-una macro para forrar los datos de la fila auxiliar con el texto FALSO

 

Desde ya muchas gracias todos

Featured Replies

publicado

Buenos dias, te paso codigo y comento.

Declara y asigna variables :

Dim VbSiNo As Variant ' variable para guardar respuesta a la pregunta Que hacemos al encontrar un error
Dim Rng As Range ' variable objecto rango
Set Rng = ActiveSheet.Range("C3:C6") ' asigna el rango de celdas a recorrer, en mi caso de C3 a C6

Recorremos Rango mediante la instruccion

For Each Rng In Rng    ' Recorremos el rango
Next

Comprobamos si la celda tiene un error :

 If IsError(Rng) Then ' si la celda tiene un error
 End If

Si encuentra un error , Preguntamos que hacemos y guardamos la respuesta en la variable :

  VbSiNo = MsgBox("Error en Celda : " & Rng.Address & vbNewLine & vbNewLine & "Sí = Borra Contenido " & vbNewLine & "No = Borra Linea " & vbNewLine & "Cancela = Omite Error", vbYesNoCancel + vbExclamation, "¿Qué Hacemos?") ' preguntamos
   

Evaluamos la respuesta y ejecutamos :

  If VbSiNo = vbYes Then ' evaluamos la respuesta, Respondemos "Sí"
    ActiveSheet.Range(Rng.Address).ClearContents ' Borra el contenido de la celda de la hoja activa
   ElseIf VbSiNo = vbNo Then ' .. Respondemos "No"
    ActiveSheet.Range(Rng.Address).EntireRow.Delete ' Borra Toda la linea correspondiente a la celda de la hoja activa
   End If

Saludos 

Archivado

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