Ayuda: crear macro que haga esto en MS Excel

Publicado en 'Más Allá del Teclado' por Go_T0_H3ll, 21 Jul 2019.





  1. Go_T0_H3ll

    Go_T0_H3ll Miembro frecuente

    Registro:
    27 May 2016
    Mensajes:
    237
    Likes:
    19
    Temas:
    37




    Hola,

    Necesito la ayuda de un experto del MS Excel para crear una marcro, estoy que busco y busco pero no encuentro nada en internet que me ayude especificamente en este problema y grabar la macro tampoco ayuda de mucho en lo que necesito.

    Tengo una base de datos que se compone de diferentes hojas, una por cada lugar y estoy tratando de tener una macro que haga lo siguiente:

    -Valla a “HOJA 1” para que dentro de esta hoja valla a un rango determinado para que busque y borre los “-“ que salen cuando una celda tiene formula pero está vacía, es decir cuando no hay números dentro de las celdas que hacen la fórmula.

    -También una macro similar a la anterior pero que elimine todos los “errores” tipo “#DIVX”/“#NUMER!”/NOMBRE?, aquellos que salen cuando una de las celdas que componen la fórmula tiene algo que rompen y generan el error.

    -Por último, una macro que busque y elimine cosas específicas por ejemplo “0” (ceros) o “X” pero cuando solo eso está en la celda.

    No es necesario que una sola macro o botón haga las 3 cosas, pueden ser 3 botones diferentes para evitar conflictos en el código pero si alguien sabe como se podría hacer esto agradecería que me ayude.
     


  2. ciberneuro

    ciberneuro Miembro frecuente

    Registro:
    4 Jul 2013
    Mensajes:
    239
    Likes:
    88
    Temas:
    28
    Busca en excel la opción para grabar una macro. Empieza la grabación, selecciona una hoja, selecciona una celda, escribe una formula, selecciona la fila y elimínala. Finalmente detén la grabación.

    Edita la macro generada de la siguiente manera:
    1. En la primera línea tienes un código que selecciona una hoja, agrega un bucle e itera a través de todas la hojas.
    2. Tienes un código que selecciona una celda, agrega un bucle que itere a través de las celdas.
    3. Tienes un código que asigna un valor a una celda, utilízalo para determinar las condiciones de error que mejor te parezcan.
    4. Tienes un código que elimina la fila, de acuerdo a la condición anterior borra la fila si es un error. Ten en cuenta que esto cambia los índices de las filas a la hora de desarrollar tu bucle.
     
    A Go_T0_H3ll y Joshua Tree les gustó este mensaje.
  3. Go_T0_H3ll

    Go_T0_H3ll Miembro frecuente

    Registro:
    27 May 2016
    Mensajes:
    237
    Likes:
    19
    Temas:
    37
    Muchas gracias, me funcionó perfecto.
     
  4. tenguman

    tenguman Miembro de plata

    Registro:
    15 Nov 2010
    Mensajes:
    3,869
    Likes:
    1,192
    Temas:
    74
    Para los dos primero casos, tienes la formula si.nd

    Para el ultimo caso, tienes puedes aplicar un replace o una funcion si()