copiar el valor de una celda en otra sin desactivar macro

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

copiar el valor de una celda en otra sin desactivar macro

Notapor Rexcel » 07 Dic 2011 09:17

Saludos. Tengo una macro que se activa a partir de dar un valor (1,2,3,4,5,...)
a A1 y funciona perfectamente si introduzco el valor de A1 manualmente.
Pero necesito que el valor de A1 dependa del valor resultante de B1 que contiene una
fórmula. El problema que tengo es que si pongo en A1 la fórmula (=B1), la
macro ya no se activa (al haber introducido una fórmula en A1 y no haberla
dejado en blanco). ¿Podría solucionarse este problema?. Muchas gracias por
vuestra ayuda.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Rexcel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Dic 2011 15:17

Re: copiar el valor de una celda en otra sin desactivar macr

Notapor Héctor Miguel » 09 Dic 2011 01:22

hola, !

supongo que esta en el evento '_change' en el modulo de codigo de alguna hoja ?
(este se dispara solo por cambios directos en la celda, no como resultado del recalculo de formulas)

(probablemente) cambiarla al evento '_calculate' y ciudar que el valor de "la celda" cambie efectivamente

por que no expones la macro, es dificil "opinar" sobre algo que no se puede ver (???)

saludos,
hector.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Héctor Miguel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 26 Mar 2005 18:31

Re: copiar el valor de una celda en otra sin desactivar macr

Notapor Rexcel » 09 Dic 2011 05:52

Hola Héctor, gracias por contestar, pues he tenido ocasión de seguir la calidad de tus orientaciones, aunque yo no encontraba, en los temas vistos, la solución que necesitaba.

Temo que el tema no sea fácil, pero si hay posibilidad, daría solución a una forma muy ingeniosa y simple que encontré en el foro (lamento no encontrar ahora el nombre de la autora), de trabajar con imágenes en función del valor variable de una celda, por lo que agradezco tu interés.

Se trata de una macro en el código de la hoja que hace visualizar imágenes en el orden en que se han insertado, teniendo en A1 el contador. Es decir, al poner en A1 el valor 1 se visualiza la imagen 1ª, al poner en A1 en valor 2 se visualiza la imagen insertada en segundo lugar, y así sucesivamente.
Mi problema es que necesito que el valor de A1 dependa del resultado de una fórmula en C1.

La macro es la siguiente:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Byte
With Me
If Not Intersect(Target, .[a1]) Is Nothing Then
For n = 1 To .Shapes.Count
.Shapes(n).Visible = False
Next
On Error Resume Next
.Shapes(.Range("a1")).Visible = True
End If
End With
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Rexcel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Dic 2011 15:17

Re: copiar el valor de una celda en otra sin desactivar macr

Notapor Rexcel » 23 Dic 2011 06:04

¿Tiene solución la cuestión planteada? Agradecería vuestra respuesta porque a pesar de aparentar ser muy sencillo yo no logro resolverlo. Gracias
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Rexcel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Dic 2011 15:17

Re: copiar el valor de una celda en otra sin desactivar macr

Notapor Papixtli » 23 Dic 2011 12:12

Hola Rexcel!!

Mira soy nuevo por aquí y vi tu cuestión, la verdad no soy experto en el tema pero lo que se me ocurrio fue agregar el código en "Calculate" y borre unas lineas, ya lo probe y funciona, solo deberas poner una formula que haga referencia a la celda que va a cambiar, en este caso en A1 la formula "= C1" y la celda C1 puede tener cualquier valor o formula. Te dejo el código.


Private Sub Worksheet_Calculate()
Dim n As Byte
With Me
For n = 1 To .Shapes.Count
.Shapes(n).Visible = False
Next
On Error Resume Next
.Shapes(.Range("a1")).Visible = True
End With
End Sub

Saludos!!! 8)
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Papixtli
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Dic 2011 21:07

Re: copiar el valor de una celda en otra sin desactivar macr

Notapor Rexcel » 23 Dic 2011 13:43

Hola Papixtli, por fín... Ha sido fantástico comprobar ¡que efectivamente funcionaaaaaa!. Muchas gracias por este regalo de Navidad que me hace volver a creer en los Reyes Magos. Si no te consideras un experto, para mí sí que lo eres (experto y como tal mago, que no rey), y además también con la elegancia de lo simple (que no es lo mismo que fácil). Muchas gracias.

Gracias por vuestra ayuda, Héctor, Gracias Papixtli.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Rexcel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Dic 2011 15:17


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 6 invitados