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 -
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
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
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.
¿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.
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
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
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.
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.
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
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
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.
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.
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
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
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
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
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!
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!
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!
si tu archivo no contiene datos confidenciales, mándalo como archivo adjunto a esta dirección que veo
https://www.cjoint.com/
¡Hasta luego!
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
No conocía también el truco de cjoint. Muy práctico.
https://www.cjoint.com/?foqjX2Mruv
Te leeré pronto
Saludos cordiales
Yvance77
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!
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!
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
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
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.
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.
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
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
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
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
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!
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!