Borrar celda automáticamente

23/02/2006 - 18:48 por Guillermo Pérez | Informe spam
Hola. Soy novato en Excel y Visual Basic y tengo una duda. Necesito borrar
automáticamente el contenido de una celda cada vez que en ella aparezca una
determina palabra. No con una macro que yo tenga que ejecutar manualmente
sino de forma automática cada vez que cambie el valor de la celda. Por
ejemplo: La celda M6 está vacía y quiero que cada vez que tome el valor
"HOLA" se borre el contenido de esa celda automáticamente. Tengo más o menos
claro que la subrutina sería algo así:

Sub BorrarCelda()
If Range("M6")="HOLA" Then
Range("M6").Value=""
End If
End Sub

La pregunta es: ¿qué tengo que hacer para que ese código se ejecute continua
y automáticamente en la hoja?

Saludos.

Preguntas similare

Leer las respuestas

#6 Guillermo Perez
23/02/2006 - 21:44 | Informe spam
Ya lo he conseguido. Tambien funciona con este codigo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("M6") = "HOLA" Then
Range("M6").Value = ""
End If
End Sub

KL, en mi caso este macro me es muy util porque no tengo mucha idea de esto
y me encuentro con una plantilla Excel ya hecha que obtiene datos externos.
Cuando una celda de esa plantilla toma un determinado valor, se detiene la
accion hasta que no se borra. De esta forma la borra automaticamente y la
accion continua. Supongo que hay una forma mucho mas facil de hacerlo pero
tendria que saber como han programado esta plantilla y no tengo ni idea.

Gracias a los dos.

porque no tengo mucha idea de esto y me encuentro con una plantilla de Excel
ya hecha donde "KL" escribio en el
mensaje news:
Hola Guillermo,

Haz lo siguiente:
1) Haz clic-derecho sobre el nombre de la hoja en cuestion (en una de las
pestanas de la parte de abajo de la ventana de Excel).
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) Una vez en el Editor VBA, en la ventana mas grande a la derecha pega el
siguiente codigo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [M6]) Is Nothing Then Exit Sub
If [M6] = "HOLA" Then [M6] = ""
End Sub

4) Ahora pulsa Alt+F11 para volver a la hoja.
5) Prueba introducir "HOLA" en la celda [M6]

Aunque personalmente creo que el macro tiene poco sentido.

Saludos,
KL
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida