Saltar al contenido

Insertar un número determinado de filas a partir de un número determinado a elegir


Recommended Posts

publicado

Buenas tardes, 

Necesito ayuda en varios aspectos, me he bloqueado y a pesar de haber intentado varios métodos no consigo llegar a lo que necesito.

Adjunto archivo con una pequeña prueba.

1. Necesito insertar un número determinado de filas desde A1 hacia abajo, a partir de la cantidad que ponga en B2, será entre 1 y 6 máximo, pero es por no estar insertando manualmente. Lo he intentado con la siguiente macro, pero siempre tengo que tener la celda bien marcada y con al menos 2 filas ya fijadas para que se quede el mismo formato, no sé si existe otra forma de hacerlo:

Sub InsertarFilas()
 Dim numFilas As Long
     Preguntar al usuario por el número de filas a insertar
    numFilas = Application.InputBox(Prompt:="Filas a insertar:", Type:=1)
     Validar si el número de filas indicado es superior a cero
    If numFilas > 0 Then
        'Insertar filas
        Rows(ActiveCell.Row & ":" & ActiveCell.Row + numFilas - 1).Insert
    End If
End Sub

2. Al tener el número de filas, necesito que se copie el nombre (B2) seguido del número (C2), por ejemplo MIKE 01, y en cada fila poner mismo nombre pero seguido del siguiente número, en este caso sería MIKE 02,  y así sucesivamente. Para este caso, ni con CONCATENAR, ni usando & lo he conseguido, ya que añadir una valor más al número no me deja.

3. Por último, en la celda J de la fila correspondiente, usar los datos en una sola línea (como en el ejemplo), que he usado CONCATENAR, pero si en alguna celda pongo 0, me gustaría que no apareciera ese dato. De esto, le he dado mil vuelta y no consigo dar con absolutamente nada.

Gracias de antemano, por simplemente leer la entrada. Toda ayuda sería de gran ayuda. Un saludo

 

Prueba.xlsx

publicado

Qué tal @Melisa,

 

Deberías subir tu archivo con un ejemplo de cómo quedaría en un caso real, por ejemplo poniendo el nombre y número y poniendo la tabla con todos los valores que tendría que tener.

Por otro lado ¿Las celdas con LOXIII, LOXII, LOXI, etc. qué significan? ¿Se copiaran tal cuál en todas las filas que se pusiesen?

publicado

Buenos días @Haplox,

Gracias por tu respuesta. 

Como me has comentado, subo archivo con lo que necesito, ya tiene las macros necesarias para que consiga los puntos 2 y 3, pero necesito que si pongo en B2 determinado número, se creen esas filas a partir de A5 con las fórmulas y todo.

Gracias de antemano.

Prueba_01.xlsm

publicado

Saludos totales.

recording-2023-03-24-10-06-14.gif

Dejo mi propuesta esperando sea de utilidad en algo o pueda ser editada según las necesidades de @Melisa

En 23/3/2023 at 8:52 , Melisa dijo:

1. Necesito insertar un número determinado de filas desde A1 hacia abajo, a partir de la cantidad que ponga en B2, será entre 1 y 6 máximo, pero es por no estar insertando manualmente. Lo he intentado con la siguiente macro, pero siempre tengo que tener la celda bien marcada y con al menos 2 filas ya fijadas para que se quede el mismo formato, no sé si existe otra forma de hacerlo:

Mi propuesta es que en lugar de insertar las filas, repliquemos ese rango con formato el mismo número de filas que escribas en B2.

En 23/3/2023 at 8:52 , Melisa dijo:

2. Al tener el número de filas, necesito que se copie el nombre (B2) seguido del número (C2), por ejemplo MIKE 01, y en cada fila poner mismo nombre pero seguido del siguiente número, en este caso sería MIKE 02,  y así sucesivamente. Para este caso, ni con CONCATENAR, ni usando & lo he conseguido, ya que añadir una valor más al número no me deja.

Esa parte si la entendí bien, creo se logra de manera adecuada.

En 23/3/2023 at 8:52 , Melisa dijo:

3. Por último, en la celda J de la fila correspondiente, usar los datos en una sola línea (como en el ejemplo), que he usado CONCATENAR, pero si en alguna celda pongo 0, me gustaría que no apareciera ese dato. De esto, le he dado mil vuelta y no consigo dar con absolutamente nada.

Esta última parte mi poca experiencia en VBA me limitó a cumplir por código al detalle lo que describes, te puedo compartir que la fórmula se coloque en el mismo rango que ha pegado "las filas", incluso que concatene los valores con los encabezados. Mi detalle fue que al terminar la sentencia las celdas están vacías, pero el encabezado no y termina concatenando si llega haber un valor 0. Si antepusiera  la condición 0, no te concatenaría nada porque los valores de inicio  no tienen nada.

Tal vez si te interesas por alguna solución posterior con funciones, algo se podría hacer. Pero ya no me quedaría dentro de la misma sentencia.

Aunque seguro tendrás más propuestas de soluciones.

Espero haber ayudado un poco.

Saludines.

Prueba.xlsm

publicado
En 23/3/2023 at 16:56 , Haplox dijo:

Por otro lado ¿Las celdas con LOXIII, LOXII, LOXI, etc. qué significan? ¿Se copiaran tal cuál en todas las filas que se pusiesen?

Sigo preguntando lo mismo... ¿O acaso esos valores los pones a mano?

publicado

Hola @Haplox, lo siento, había olvidado darte respuesta a esto en concreto...

Las celdas que me comentas serían siempre con el mismo "texto", es decir, es un nombre de algo concreto que no cambiaría.

Un saludo.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.