Borrar números en un rango bajo una condición

Gusto de saludarlos nuevamente. Les consulto en esta oportunidad para saber como borrar los números que se encuentran dentro de un rango si el valor de la celda G17 es igual a cero.
Lo que hice hasta el momento es contar las celdas con numeros dentro del rango C7:F9 con =CONTAR.SI(C7:F9;">0") y las palabras en el mismo rango de la siguiente forma =PRODUCTO(-1)*(CONTAR.SI(C7:F9;"*")). Si dicha suma en la celda G17 es igual a cero quisiera que borre los numeros cosa que no he logrado aun.

1 Respuesta

Respuesta
1

Podrías ser más claro, la verdad no entiendo lo que necesitas. O pon un ejemplo gráfico de lo que necesitas.

Hola Alberto!Te cuento. En color rosado el rango con el que tengo que trabajar.

El valor 7 es la cantidad de números en el rango. Este numero lo calculo automaticamente con la formula contar.si "=CONTAR.SI(C7:F9;">0")". El valor -5 de igual manera; se cuentan las celdas con texto con la formula "=PRODUCTO(-1)*(CONTAR.SI(C7:F9;"*"))". El valor 2 es la diferencia entre ambos calculos. Lo que quisiera es que si valor que ahora vale 2 es igual a cero borre todos los números del rango.

Bueno podrías usar la siguiente macro:

En la Hoja:

-------------------------------------------------------------

Private Sub worksheet_selectionchange(ByVal Target As Range)

If Range("G8") = 0 Then Call borrar

End Sub

---------------------------------------------------------

En un módulo:

___________________________________

Sub borrar()
Range("C7:F9").ClearContents
End Sub

____________________________________

Hola Alberto! La macro funciona muy bien cuando encuentra el valor 0 en la celda G8. ¿Cómo debería ser para que sólo borre los números del rango y no el texto del rango?

Saludos y gracias.

En el módulo, reemplaza el código anterior por el siguiente:

___________________________________

Sub borrar()

If IsNumeric(Range("C7")) Then
Range("C7").ClearContents
End If

If IsNumeric(Range("C8")) Then
Range("C8").ClearContents
End If

If IsNumeric(Range("C9")) Then
Range("C9").ClearContents
End If

If IsNumeric(Range("D7")) Then
Range("D7").ClearContents
End If

If IsNumeric(Range("D8")) Then
Range("D8").ClearContents
End If

If IsNumeric(Range("D9")) Then
Range("D9").ClearContents
End If

If IsNumeric(Range("E7")) Then
Range("E7").ClearContents
End If

If IsNumeric(Range("E8")) Then
Range("E8").ClearContents
End If

If IsNumeric(Range("E9")) Then
Range("E9").ClearContents
End If

If IsNumeric(Range("F7")) Then
Range("F7").ClearContents
End If

If IsNumeric(Range("F8")) Then
Range("F8").ClearContents
End If

If IsNumeric(Range("F9")) Then
Range("F9").ClearContents
End If

End Sub

____________________________________

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas