Botón de reinicio de macro de Excel

Resuelto
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   -  
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

Aquí estoy buscando ayuda para crear una macro en Excel que permita establecer en cero diversas celdas en varias hojas de cálculo (un total de 10).

Estas celdas no son necesariamente continuas o contiguas.

El deseo, entonces, es que al hacer clic en este botón, todo vuelva a cero como por arte de magia, ya que hay una actualización diaria de este libro de trabajo.

La ayuda solicitada será muy bienvenida ya que no soy un usuario de Windows, esto es para mi trabajo.

Último punto, también estoy usando un teclado británico, así que disculpa por los errores.

Atentamente

18 respuestas

Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

¿puedes escribir esta macro que hace referencia a hojas y celdas en cada hoja?

Sub Macro1()
Sheets("Feuil1").Range ("B4").ClearContents
Sheets("Feuil2").Range("D21,C7,D21").ClearContents
Sheets("Feuil3").Range("G17,D2:G2,G17").ClearContents
End Sub

Cuando hayas entendido el proceso, es posible simplificar o más exactamente compactar la fórmula.

A+

________________________________________________________________________

Usted buscaba ayuda. Los miembros del foro, de manera voluntaria, estaban a su lado. Tenga la amabilidad de informarnos si su problema se ha resuelto. Para clasificar la
Solicitud.
23
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
sí, has entendido bien, es exactamente eso.

la macro la has colocado bien en el visual basic de excel, también la puedes renombrar pero no cambias Sub y ()

Para el botón de la macro hay dos posibilidades

1/ muy simple en la barra de dibujo seleccionas el círculo, o el cuadrado o incluso un clipart, una imagen, lo colocas en tu hoja 1 y clic derecho sobre él y asignar a una macro seleccionas tu macro en el cuadro de diálogo que se abre. cuando hagas clic en este objeto la macro se activará

2/ con la barra de visual basic editor que has mostrado haciendo vista/barra de herramientas y marcado visual basic, haces clic en caja de herramientas de control, si no sabes cuál es el botón pasa el puntero del ratón y lee las descripciones emergentes
en la caja de herramientas de control que se ha abierto selecciona un botón de comando, haz doble clic en él y se abrirá una página de macro con

Private Sub CommandButton1_Click()

en este espacio ingresas el nombre de la macro como macro1

End Sub

si quieres cambiar el texto en el botón siempre desde esta hoja de macro, a la derecha deberías tener propiedades commandbutton1 y debajo en la lista encontrarás Caption y frente a CommandButton1 es lo que está en el botón, reemplaza este texto por el que quieras ver en el botón.

cierras los cuadros de diálogo bisual basic y eso es todo

A+

si tu problema está resuelto o cuando lo esté no olvides marcar tu estado resuelto en la parte superior de tu post Gracias
3
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

Escribe tu macro así, todo será más fácil

Sub ZERO()
Sheets("DAILY TILL").Select
Range("B4:B6,B8:B16,C4:C6,C8:C16,C20,A22").ClearContents
Sheets("Reception1").Select
Range("B7:B21,B37,C4,E7:E21,I7:I11,I19:I22").ClearContents
End Sub

¡Hasta luego!

________________________________________________________________________

Estabas buscando ayuda. Los miembros del foro, de manera voluntaria, estaban a tu lado.
Por favor, ten la amabilidad de decirnos si tu problema está resuelto. Para clasificar la
Solicitud.
2
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   21
 
Hola Mike

Volvemos a los asuntos normales. Aquí está el inicio de mi proyecto

Sub ZERO()
Sheet1(DAILY TILL).Range("B4:B6,B8:B16,C4:C6,C8:C16,C20,A22").ClearContents
Sheet2(Reception1).Range("B7:B21,B37,C4,E7:E21,I7:I11,I19:I22").ClearContents

End Sub

Pero cada vez que quiero aplicar o presionar el botón recibo un mensaje digno de los Nulos = error de sintaxis

Gracias y hasta pronto
1
badangel4500 Mensajes publicados 1 Fecha de registro   Estado Miembro Última intervención   1
 
Hola a todos,

tengo el mismo problema, ¿podría ayudarme Mike??? gracias
1
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

Sí, por supuesto, pero deberías haber abierto tu propia discusión con explicaciones sobre lo que quieres hacer para obtener una respuesta adecuada.

Para esta discusión, el código ubicado en un módulo de Visual Basic y asociado a un botón era:

En la hoja llamada DAILY TILL, había que borrar las celdas de B4 a B6, de B8 a B16, etc., y también en la hoja Reception1.

Sub ZERO()
Sheets("DAILY TILL").Select
Range("B4:B6,B8:B16,C4:C6,C8:C16,C20,A22").ClearContents
Sheets("Reception1").Select
Range("B7:B21,B37,C4,E7:E21,I7:I11,I19:I22").ClearContents
End Sub

--
A+
Mike-31

Una época de fracaso es un momento ideal para sembrar las semillas del conocimiento.
1
Yvance77
 
Mike, muchas gracias por tu contribución que me ilumina un poco (bastante, dicho sea de paso) :-)

Precisión: Sheets("Feuil1") Feuil1 tengo que cambiarlo por el nombre de mi hoja, supongo?

D2:G2 = en el caso de que tenga celdas que se siguen

("B4") = caso de una celda aislada

ClearContents = Función que permite limpiar el lío

Luego, ¿cómo relacionar esto con un botón que deseo poner en la primera página del libro y que nombraré cero?

Gracias de nuevo
0
Yvance77
 
Mike, eres una bendición :-)

Tus explicaciones son claras y este sábado me dedicaré a la práctica, ahora estoy tomando un descanso de 48 horas. Te mantendré informado y a los demás también, porque esto puede servir a muchas personas.

Atentamente, Mike
0
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   21
 
Ok Mike, bueno, siento que no va a ser un paseo, así que gracias por tu paciencia.

Ahora tengo el siguiente mensaje de error: "Error de tiempo de ejecución '438': 'El objeto no tiene esta propiedad o método'" cuando hago clic en el ícono.

Y se me invita a hacer un depurado.

Para tu información, aquí está el texto de la macro modificada:

Sub ZERO()
Sheet1("DAILY TILL").Select
Range("B4:B6,B8:B16,C4:C6,C8:C16,C20,A22").ClearContents
Sheet2("Reception1").Select
Range("B7:B21,B37,C4,E7:E21,I7:I11,I19:I22").ClearContents
End Sub

PUNTO IMPORTANTE:

La parte "Sheet1("DAILY TILL").Select" está resaltada en amarillo???

Gracias por tu pronta respuesta, Mike

¡Hasta luego!
0
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

si tu archivo no contiene datos confidenciales, mándalo como archivo adjunto a esta dirección que veo

https://www.cjoint.com/

¡Hasta luego!
0
Yvance77
 
Gracias de nuevo Mike.

No conocía también el truco de cjoint. Muy práctico.

https://www.cjoint.com/?foqjX2Mruv

Te leeré pronto

Saludos cordiales

Yvance77
0
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

es normal que tus hojas estén protegidas.

Te estoy escribiendo un código que incluye la desprotección con la eliminación prevista y la reprotección de tus hojas, y te lo envío todo.

¡Hasta luego!
0
Yvance77
 
Muchas gracias Mike.

Tenía que saberlo por lo del tema de la protección.

De todas formas, pondré el resultado aquí para que pueda beneficiar al mayor número de personas.

Atentamente

Yvance77
0
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

puedes descargar tu archivo en este enlace. En el código de la macro, en cada línea, después de un apóstrofe tienes las explicaciones de la macro.
El código del botón se encuentra en el código de la hoja DAILY; para acceder, haz clic derecho sobre la pestaña de la hoja y visualiza el código.

https://www.cjoint.com/?fouDx5Qcte

¡Hasta luego!
__________________________________________________________________

Necesitas ayuda. En el foro, voluntarios se toman el tiempo de descifrar tus explicaciones a veces confusas y ofrecen su conocimiento.
Solución encontrada, ten la cortesía de marcar tu estado como resuelto. Para que tu problema sea clasificado y sirva de referencia para otros casos similares.
0
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   21
 
Mike,

UN GRANDE GRANDE GRACIAS.

Tengo preguntas adicionales que hacerte, lo haré más tarde, estoy en apuros.

Pero gracias de nuevo, que lo sepas, tu ayuda fue valiosa.

Respeto

Yvance77
0
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   21
 
Re Mike,

Por favor, precisión

1) No logro entender bien cómo creaste el botón en la primera página y el vínculo con la macro

2) ¿Cómo se elimina una macro antigua?

Gracias por estas últimas precisiones, luego volveré con el trabajo que hiciste para compartirlo.

Atentamente
0
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

para el botón hay varias trucos

puedes abrir la barra de herramientas de control, eliges tu botón y haces doble clic para abrir el acceso a su código VBA, donde copias los títulos de tus macros.
también puedes dibujar tu botón desde tu barra de dibujo con un círculo o un rectángulo o incluso una foto que insertes o un botón que exportes y clic derecho sobre él asignar una macro.

Para eliminar una macro, muestra la barra de Visual Basic, en esta barra, en el centro, haz clic en el ícono del editor de Visual Basic, lo que te abrirá la página del editor. visualización/explorador de proyectos, debes encontrar Módulos y debajo Módulo1, Módulo2, etc... los códigos de macros están ahí dentro.

No olvides cambiar tu estado a resuelto cuando hayas terminado esta discusión

¡Hasta luego!
0
Yvance77 Mensajes publicados 273 Fecha de registro   Estado Miembro Última intervención   21
 
Hola Mke

Lo siento, debido a un accidente no he podido continuar con la conversación

Gracias
0