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

#1 big
23/02/2006 - 19:18 | Informe spam
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rango As Range

Set Rango = Range("M6")
If Intersect(Target, Rango Is Nothing Then Exit Sub
If Range("M6")="HOLA" Then Range("M6").Value=""

End Sub




"Guillermo Pérez" escribió en el
mensaje news:PzmLf.169599$
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.


Respuesta Responder a este mensaje
#2 Francisco M
23/02/2006 - 19:22 | Informe spam
esto te puedría ayudar, no soy muy experto:

Private Sub Worksheet_Change(ByVal Target As Range)
If target.address = "$M$6" and value = "HOLA" Then Range("M6").Value=""
End Sub

chequea si te sirve
saludos,
Francisco

"Guillermo Pérez" escribió en el
mensaje news:PzmLf.169599$
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.


Respuesta Responder a este mensaje
#3 KL
23/02/2006 - 21:04 | Informe spam
o asi:

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

Saludos,
KL


"big" wrote in message news:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rango As Range

Set Rango = Range("M6")
If Intersect(Target, Rango Is Nothing Then Exit Sub
If Range("M6")="HOLA" Then Range("M6").Value=""

End Sub




"Guillermo Pérez" escribió en el mensaje news:PzmLf.169599$
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.






Respuesta Responder a este mensaje
#4 Guillermo Pérez
23/02/2006 - 21:05 | Informe spam
"Francisco M" escribió en el mensaje
news:
esto te puedría ayudar, no soy muy experto:

Private Sub Worksheet_Change(ByVal Target As Range)
If target.address = "$M$6" and value = "HOLA" Then Range("M6").Value=""
End Sub



Pero ¿dónde tengo que poner ese código?

Gracias.
Respuesta Responder a este mensaje
#5 KL
23/02/2006 - 21:14 | Informe spam
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


"Guillermo Pérez" wrote in message news:AAoLf.169611$

"Francisco M" escribió en el mensaje news:
esto te puedría ayudar, no soy muy experto:

Private Sub Worksheet_Change(ByVal Target As Range)
If target.address = "$M$6" and value = "HOLA" Then Range("M6").Value=""
End Sub



Pero ¿dónde tengo que poner ese código?

Gracias.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida