Hacer una macro que copie de la hoja 1 un cuadro de texto a la hoja 2 y luego asignar una macro al cuadro de texto copiado

Hacer una macro que copie de la hoja 1 un cuadro de texto a la hoja 2, y en la hoja 2 al cuadro de texto asignarle otra macro "volver" ya creada anteriormente para que cuando pulse sobre el cuadro de texto copiado ejecute la macro "volver"

1 Respuesta

Respuesta
1

Te dejo un ejemplo simple para hacerlo:

Sub CopiarCuadro()
Sheets("Hoja1").Shapes("TextBox 2").Copy
Sheets("Hoja2").Select
ActiveSheet.Paste
Selection.OnAction = "Forma"
End Sub

Solo reemplaza el nombre de tus hojas, el de tu "cuadro de texto"  y en el "OnAction" coloca el de la macro que quieres asignar.

Salu2

Abraham Valencia

Gracias por la solución, pero tengo unn problema, que no se que TextBox es, he creado muchos en varias hojas, pero este copncretamente no se como averiguar que TextBox es para poder probar la macro.

Esperando tus prontas noticias, te saluda atentamente:

ALFREDO.

Selecciona el objeto, sin quitarle la selección anda al editor del VBA y en la "Ventana Inmediato" (espero que sepas cual es) coloca lo siguiente:

¿

? Selection. Name

Les das "Enter" y debería, en esa misma ventana, salirte el nombre del objeto.

Abraham Valencia

Cuando ejecuto la macro me da el error"2147024809 (80070057) en tiempo de ejecución:

No se encontró el elemento con el nombre especificado.

Al pulsar sobre depuerar se me va a la macro a la línea donde tengo escrito:

Sheets("CLI").Shapes("TextBox 3").Copy pero en color amarillo.

mpo entiendo porque.

Hice lo que me indicasteis para ver el nombre del cuadro de texto, y me pone 3 Rectángulo redondeado.

os pongo la macro para ver si se puede pulir.

Sheets("CLI").Shapes("TextBox 3").Copy
'Rectámgulo redondeado
Sheets("CLIORDPRENDAS").Select
ActiveSheet.Paste

Selection.OnAction = "VOLVER A CLIENTES DE PRENDAS ORDENADAS"

Esperando vuestras prontas noticias, os saluda atentamente:

Alfredo

Es un error en el nombre del objeto o de la hoja. Eso de "3 rectangulo..." no me queda claro que es ¿será qué ese es el nombre del objeto?

Vuelve a seleccionar el objeto y a usar la "Ventana Inmediato" pero esta vez vez envía por aquí captura de pantalla del resultado.

Abraham Valencia

adjunto la macro y la ventana inmediato donde pone el nombre del objeto.

Pues ese, aunque parezca raro, es el nombre del objeto: "3 Rectángulo redondeado"

Prueba con ese nombre.

Abraham Valencia

Ya lo he probado y no hay manera.

Si me indicas un correo electrónico, te envío el fichero de excel con la hoja con la prueba de los rectángulos para que lo analices y me digas que hago mal.

Agradecido de antemano, os saluda:

Alfredo

Coloca tu archivo en "OneDrive" o "GoogleDrive" o similar y comparte por aquí el enlace.

Abraham Valencia

https://1drv.ms/f/s!AgKGy-MGv74ryRHOVx91nryoV7jI 

Te envío el vinculo del libro de excel para que lo analices.

Atentamente:

Alfredo

El nombre de los objetos en ese archivo son "1 Rectángulo redondeado" y "2 Rectángulo redondeado", entonces, en el editor de VBA (VBE) agrega un módulo "standard" (Insertar - Módulo), y ahí pega exactamente esto:

Sub Prueba()
MsgBox "Todo bien"
End Sub
Sub CopiarCuadro()
Sheets("Hoja1").Shapes("1 Rectángulo redondeado").Copy
Sheets("Hoja2").Select
ActiveSheet.Paste
Selection.OnAction = "Prueba"
End Sub

Ahora activa la macro "Copiarcuadro". El resultado será que en la "Hoja2" tendrás un rectángulo  igual al que dice "Ir a hoja2" pero que activa la macro "Prueba".

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas