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

  1. 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
  2. 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
  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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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