Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo borrar los contenidos de celda especificados si el valor de otra celda cambia en Excel?

Supongamos que desea borrar un rango de contenido de celda especificado si se cambia el valor de otra celda, ¿cómo puede hacerlo? Esta publicación te mostrará un método para resolver este problema.

Borre los contenidos de celda especificados si el valor de otra celda cambia con el código VBA

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las funciones avanzadas de 300 a Excel y aumenta su productividad de inmediato
  • Super Formula Bar (edite fácilmente múltiples líneas de texto y fórmulas); Diseño de lectura (lea y edite fácilmente un gran número de celdas); Pegar en rango filtrado ...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combine filas duplicadas y suma / promedio ... Prevenga celdas duplicadas; Comparar rangos ...
  • Seleccione Filas duplicadas o únicas; Seleccione Filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta de varias celdas sin cambiar la referencia de fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, casillas de verificación y más ...
  • Favorito e inserte rápidamente fórmulas, rangos, gráficos e imágenes; Cifrar celdas con contraseña; Crear lista de correo y enviar correos electrónicos ...
  • Extraer texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios ...
  • Super filtro (guardar y aplicar esquemas de filtro a otras hojas); Avanzado Ordenar por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF ...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.

Borre los contenidos de celda especificados si el valor de otra celda cambia con el código VBA


Como se muestra a continuación, cuando se cambia el valor en la celda A2, el contenido en la celda C1: C3 se borrará automáticamente. Por favor haz lo siguiente.

1. En la hoja de trabajo, borrará los contenidos de la celda en función de los cambios de otra celda, haga clic con el botón derecho en la pestaña de la hoja y seleccione Ver código desde el menú contextual. Ver captura de pantalla:

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, copie y pegue debajo del código VBA en la ventana Código.

Código de VBA: borre los contenidos de celda especificados si cambia el valor de otra celda

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Range("C1:C3").ClearContents
    End If
End Sub

Nota: En el código, B2 es la celda sobre la que va a borrar el contenido de la celda, y C1: C3 es el rango del que va a borrar el contenido. Por favor cámbielos como lo necesite.

3. presione el otro + Q teclas para cerrar el Microsoft Visual Basic para aplicaciones ventana.

Luego puede ver los contenidos en el rango C1: C3 se borra automáticamente cuando el valor en la celda A2 cambia como se muestra a continuación.


Artículos relacionados:


  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905
  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics del mouse por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Matt · 2 days ago
    What VBA code do I use if I have a table and need multiple blanks?

    My table is B3:E7. If the contents in column B is cleared then I would like to have the data in column C, D, E cleared for that row. I have the below for row 3, but would like the same in row 4,5,6 and 7.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3")) Is Nothing Then
    Range("C3:E3").ClearContents
    End If
    End Sub
  • To post as a guest, your comment is unpublished.
    Sonia · 3 months ago
    any way of doing this without VBA?
    • To post as a guest, your comment is unpublished.
      crystal · 1 months ago
      Hi Sonia,
      Didn't find any solution exccept for VBA. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    GQ · 5 months ago
    In the case of A2, how do i reference a cell from a different worksheet?
  • To post as a guest, your comment is unpublished.
    Mac · 1 years ago
    Hi this isnt working for mine. Nothing changes but no errors either. Any tips?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good day,
      Sorry for the inconvenience. Would you provide your Office version? Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Jason · 1 years ago
    Hi, I'm looking for a way to clear a range of cells of data when an "x" is entered in a certain cell. I used the above formula and it worked perfectly for that one row. The problem is that I need to extend it down to many rows. For example, if an "x" is entered in "D13", I need the range J:13 - v:13 to be cleared. I also need that to happen if an x is entered in "D14" as in I need the range d:14 - v:14 to be cleared. Is there a way to write that? Thanks for your help!
  • To post as a guest, your comment is unpublished.
    Mat 257 · 1 years ago
    hello, this works for a fixed source cell only (A2), how do this dynamically such as source is a variable cell? i tried to write
    A=activecell.row
    If Not Intersect(Target, Range("A"& A)) Is Nothing Then
    Range("C1:C3").ClearContents
    End If

    this should do the job with regard to activecell (ie selection) but is not working
    thanks
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Please try the below VBA code. Thank you for your comment.

      Private Sub Worksheet_Change(ByVal Target As Range)
      If (Not Intersect(Target, Rows(1)) Is Nothing) And (Target.Count = 1) Then
      Range("C1:C3").ClearContents
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Scott · 1 years ago
    The code to clear a cell if another changes works great!!!! But I need it to work the other way around..... How is that code written??


    Thanks for your help
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Scott,
      What do you mean work the other way around? When manually clear contents of certain cells (C1:C3), then clear content of cell A2 automatically?