EJECUTAR MACROS

30/10/2008 - 04:43 por juan almanza | Informe spam
COMO SE PUEDE HACER PARA EJECUTAR UNA MACROS SOLO CON CAMBIAR EL VALOR EN UNA
CELDA OJO SIN USAR BOTORES SOLO CAMBIANDO EL VALOR DE UNA
CELDA EJ COLOCANDO UN 1 SE EJECUTE X MACROS

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/10/2008 - 05:11 | Informe spam
hola, juan !

COMO... EJECUTAR UNA MACROS SOLO CON CAMBIAR EL VALOR EN UNA CELDA
OJO SIN USAR BOTORES SOLO CAMBIANDO EL VALOR DE UNA CELDA EJ COLOCANDO UN 1 SE EJECUTE X MACROS



el libro y cada una de sus hojas tienen "su propio" modulo de codigo capaz de "responder" a ciertos eventos (p.e.)
- en el modulo de cada hoja existe el evento '_change' donde puedes ejecutar instrucciones (o llamar a otras macros)
este evento se dispara cuando ocurren cambios en las celdas (solo necesitas indicar EXACTAMENTE cual/es celda/s)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

p.e. este tipo de respuesta pretende ser una "invitacion" para que sean mas "claras" las consultas
(p.e. se "ve" mejor si comentas rangos, hojas, titulos, tipo de datos, formulas, etc. etc. etc.)
(y nunca esta de sobra si comentas que tienes, que has intentado y cual es el resultado "correcto" que esperas) ;)
Respuesta Responder a este mensaje
#2 Cacho
30/10/2008 - 06:43 | Informe spam
Hola! Juan.
El evento "Worksheet_Change" al que alude Héctor tiene esta forma:
______________________

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
______________________

Un par de ideas generales son:

a) Observa que te entrega el parámetro "Target": ese parámetro representa
-ni más ni menos- que la celda de la hoja que cambió ("change") su valor.

Lo que puedes hacer con ese dato es:

b) Evaluar cuál es la celda que cambió: si no es la que esperabas, pues
sales del procedimiento mediante "Exit Sub".

c) Si es la celda que esperabas la que cambió su valor, entonces puedes
analizar cuál es el nuevo valor que contiene... y actuar en consecuencia.


Saludos, Cacho.
Respuesta Responder a este mensaje
#3 kaz547
05/11/2008 - 02:52 | Informe spam
GRACIAS CACHO PERO HAY ALGO QUE NO ME QUEDA CLARO

EJEMPLO COMO PODRIA YO SABER SI LA CELDA A1 CAMBIO A TENER UN VALOR DE
1 COMO SERIA LA SINTAXIS EN EL COMPLILADOR DE VISUAL

AGRADEZCO SU AYUDA..

"Cacho" wrote:

Hola! Juan.
El evento "Worksheet_Change" al que alude Héctor tiene esta forma:
______________________

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
______________________

Un par de ideas generales son:

a) Observa que te entrega el parámetro "Target": ese parámetro representa
-ni más ni menos- que la celda de la hoja que cambió ("change") su valor.

Lo que puedes hacer con ese dato es:

b) Evaluar cuál es la celda que cambió: si no es la que esperabas, pues
sales del procedimiento mediante "Exit Sub".

c) Si es la celda que esperabas la que cambió su valor, entonces puedes
analizar cuál es el nuevo valor que contiene... y actuar en consecuencia.


Saludos, Cacho.
Respuesta Responder a este mensaje
#4 Cacho
05/11/2008 - 14:04 | Informe spam
Hola! Juan (por caso: disculpa si no eres Juan...)

a) Tolera la siguiente sugerencia: si no es necesario, trata de no escribir
TODO con mayúsculas. En efecto, en la mayoría de los Foros se interpreta que
hacerlo, equivale a gritar ("literalmente").

b) Haz clic con el botón derecho de tu ratón en la etiqueta de la hoja en la
que pretendes el efecto (abajo a la izquierda), y selecciona: Ver código.

c) En la ventana que se te abrirá, incorpora lo siguiente:
_________________________

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = 1 Then
MsgBox "La celda A1 contiene el valor ""1""."
End If
End Sub
_________________________

d) Cierra todas las ventanas del ambiente Visual Basic for Application en el
que te encuentras y retorna al Excel.

e) Cada vez que el usuario (o un vínculo externo) cambie el valor de la
celda A1, verás el mensaje: La celda A1 contiene el valor "1".

Para tu caso particular, reemplaza ese mensaje por la ejecución de la macro
que requieras.

Saludos, Cacho.
Respuesta Responder a este mensaje
#5 juan almanza
06/11/2008 - 04:56 | Informe spam
chacho muchas gracias por su ayuda . me sirvio de mucho


GRACIAS att juan colombia

"Cacho" wrote:

Hola! Juan (por caso: disculpa si no eres Juan...)

a) Tolera la siguiente sugerencia: si no es necesario, trata de no escribir
TODO con mayúsculas. En efecto, en la mayoría de los Foros se interpreta que
hacerlo, equivale a gritar ("literalmente").

b) Haz clic con el botón derecho de tu ratón en la etiqueta de la hoja en la
que pretendes el efecto (abajo a la izquierda), y selecciona: Ver código.

c) En la ventana que se te abrirá, incorpora lo siguiente:
_________________________

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = 1 Then
MsgBox "La celda A1 contiene el valor ""1""."
End If
End Sub
_________________________

d) Cierra todas las ventanas del ambiente Visual Basic for Application en el
que te encuentras y retorna al Excel.

e) Cada vez que el usuario (o un vínculo externo) cambie el valor de la
celda A1, verás el mensaje: La celda A1 contiene el valor "1".

Para tu caso particular, reemplaza ese mensaje por la ejecución de la macro
que requieras.

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