Jump to content
Milton Cordova

ANSWERED Insertar filas cada cierto rango

Recommended Posts

Saludos deseo insertar 5 filas en cada una de esta plantillas empezando desde la fila 49 luego la 122 y 195 así hasta el final.
Las plantillas están hasta la fila 35501
Gracias por su ayuda como siempre excelente

Edited by Milton Cordova
no puedo subir adjunto

Share this post


Link to post
Share on other sites

por "planitllas" te refieres a varias hojas en un libro ? (o a determinada hoja de varios libros ?)

todas tienen datos hasta la fila 35501 ? (o hay que averiguar hasta donde llegan los datos en cada una ?)

todas las inserciones inician en la fila 49 y son a cada 73 filas ? (o te quedaron "detalles en el tintero" ?)

Share this post


Link to post
Share on other sites

en tu modelo no hay datos, solo un "formato" con bordes y fondo, por lo que no es adivinable cuantos "grupos" de información vas a administrar (o hasta cual fila hay datos ?)

si vas a usar bucles, procura que NO realicen "la misma acción" en cada paso, define "el rango" y ejecuta la acción en un solo paso

Sub insertaXfilasCadaY()
  Dim ini As Long, x As Long, y As Long, grupos As Long, hoja As Worksheet, donde As Range, n As Long
  ini = 49 ' la fila con el primer grupo (OBLIGADO) '
  x = 5 ' cuantas filas se insertan en cada grupo '
  y = 73 ' cada cuantas filas hay un grupo diferente '
  grupos = 5 ' el numero de grupos a procesar ' 485 para la fila 35501
  Set donde = Cells(ini, 1).Resize(x)
  For n = 1 To grupos
    Set donde = Union(donde, Cells((n * y) + ini, 1).Resize(x))
  Next
  donde.EntireRow.Insert
  Set donde = Nothing
End Sub

 

Share this post


Link to post
Share on other sites

Saludos estimado Hector adjunto un ejemplo de uno de los formularios con datos ya que al ser 500 formularios no se puede enviar debido al peso, el rango va hasta la fila 35501.

Corri la macro funciona perfecto solo para el primer formulario, esto equivale a hacerlo manualmente, por lo que te solicito muy gentilemnte puedas ayudarme para que esto haga para las 500 plantillas.

Gracias

INSERTAR FILAS 3.xls

Share this post


Link to post
Share on other sites

Hola  Milton Cordova,

Ya revise tu ejemplo y hay algo inconsistente en el, PODRIAS AYUDARME  con poner 5 formularios completos por favor, ya que trate de repetir los 2 que pusiste hacia abajo y no me da...y    por favor pon un recuadro en cada Formulario, para no tener la duda donde empieza y donde termina.

NOTA IMPORTANTE: Es un error llevar a acabo así la información, es mejor tratar la información en 1 Base de datos y con ella se genera el Formulario..., pero si insistes solo haz el favor que te pido.

Saludos.

 

 

 

Share this post


Link to post
Share on other sites
Hace 21 horas, Milton Cordova dijo:

adjunto un ejemplo de uno de los formularios con datos ya que al ser 500 formularios no se puede enviar debido al peso, el rango va hasta la fila 35501

(lo mismo en ambos, por si hubiera dudas ?)

considerando que no eres alguien que "recién inicia" con excel (y sus macros), ya debieras entender que no es sano consultar como lo haces:

- en diferentes foros (prácticamente la misma consulta) PERO...
- proporcionando información diferente (ademas de insuficiente)

inicialmente pides insertar 5 filas a cada 73 (sin decirlo) y hasta la fila 35501 "en varias plantillas"
- iniciando en la fila 49, y después en las filas 122, 195... (y así hasta el final, es decir a cada 73 filas)
- en otros datos comentas que son hasta la fila 19711

en tu muestra hay solo una hoja, con solo dos -pre-formatos (solo uno con datos) y señalas las filas 49 y 120
- esto seria a cada 71 filas (NO a cada 73 como inicialmente referías)

sigue sin ser claro si por "plantillas" te refieres...
- a varias hojas en un solo libro-plantilla
- o a varios libros con una (in)determinada hoja-plantilla

si explicas lo anterior, con total claridad, no seria necesario que adjuntes un (inexplicable) modelo en excel

la parte más importante de una instrucción, es el resultado que se debe obtener
claridad, detalle, procedimiento, resultado

de la claridad en la consulta, se obtiene la claridad en el detalle
de la claridad en el detalle, se obtiene la claridad del procedimiento
de la claridad en el procedimiento, se obtiene el resultado esperado

Share this post


Link to post
Share on other sites
En 17/11/2019 at 12:40 , Leopoldo Blancas dijo:

Hola  Milton Cordova,

Ya revise tu ejemplo y hay algo inconsistente en el, PODRIAS AYUDARME  con poner 5 formularios completos por favor, ya que trate de repetir los 2 que pusiste hacia abajo y no me da...y    por favor pon un recuadro en cada Formulario, para no tener la duda donde empieza y donde termina.

NOTA IMPORTANTE: Es un error llevar a acabo así la información, es mejor tratar la información en 1 Base de datos y con ella se genera el Formulario..., pero si insistes solo haz el favor que te pido.

Saludos.

 

 

 

 

En 17/11/2019 at 12:40 , Leopoldo Blancas dijo:

Hola  Milton Cordova,

Ya revise tu ejemplo y hay algo inconsistente en el, PODRIAS AYUDARME  con poner 5 formularios completos por favor, ya que trate de repetir los 2 que pusiste hacia abajo y no me da...y    por favor pon un recuadro en cada Formulario, para no tener la duda donde empieza y donde termina.

NOTA IMPORTANTE: Es un error llevar a acabo así la información, es mejor tratar la información en 1 Base de datos y con ella se genera el Formulario..., pero si insistes solo haz el favor que te pido.

Saludos.

 

 

 

 

Share this post


Link to post
Share on other sites

Saludos Leopoldo, adjunto envió ejem. con 5 platillas según lo que me pides.

Se trata de un libro en el cual tengo una hoja con 500 platillas de 71 filas cada una.

Lo que deseo es ahorrarme el tiempo de ir insertando 5 filas en cada una de las 500 plantillas de una hoja de un libro.

las 500 plantillas van desde la fila 2 hasta la 35501 y cada una tiene 71 filas, o sea que

la primera al empezar desde la 2 va hasta la 72,

la segunda desde la fila 73-143,

la tercera 144-214 asi sucesivamente hasta la 35501.

la parte que  deseo insertar empieza en la primer plantilla en la fila 49, la segunda desde la 120 pero como se supone que se insertaron 5 filas en la segunda plantilla sería desde la fila 125, la tercera deberia insertarse desde la  pero debido a las filas insertadas en la primera y segunda debe insertarse desde la fila 201 y asi sucesivamente.

las plantillas estan con datos, no me permite subir ejemplo debido al peso.

En todo caso creo que se podría hacer mediante una macro para toda la hoja ya que la macro que envié solo funciona para la primer plantilla y tendría que ir creando para cada platilla una nueva macro.
Por esto me disculpo al parecer es cuestión de tiempo pero si se puede ahorralo que mejor.

Gracias disculpas por descripcion no clara sobre el tema enviado

INSERTAR FILAS 4.xls

Share this post


Link to post
Share on other sites
Hace 59 minutos , Milton Cordova dijo:

las 500 plantillas van desde la fila 2 hasta la 35501 y cada una tiene 71 filas

... la parte que  deseo insertar empieza en la primer plantilla en la fila 49, la segunda ...

... disculpas por descripcion no clara sobre el tema enviado

lamento insistir en las incongruencias de tus consultas (pero Leopoldo suele ser más "rudo" en sus reconvenciones, así que...) según este "nuevo" adjunto...

- la primera inserción ocurre en la fila 54 (NO en la fila 49)
- el segundo grupo está 73 filas abajo (NO 71 filas)
- el resto... (lo siento, solo pusiste 5 "plantillas ?")

si estas discrepancias ocurren a lo largo de las 500 plantillas (?), una (posible) opción es ubicar en la columna "C" la ocurrencia del texto "TRANSPORTE" y "regresar" DOS filas (te convence ?)

Share this post


Link to post
Share on other sites
Hace 2 horas, Héctor Miguel dijo:

lamento insistir en las incongruencias de tus consultas (pero Leopoldo suele ser más "rudo" en sus reconvenciones

Si..., dicen que soy de "macha corta", es que me enseñaron a no hacer perder el tiempo a los demás...

Hace 2 horas, Héctor Miguel dijo:

una (posible) opción es ubicar en la columna "C" la ocurrencia del texto "TRANSPORTE" y "regresar" DOS filas (te convence ?)

Si, eso es excelente... 

Espero no te cambie la palabra o la columna o no son 2 filas menos sino 3...😂😂😂

 

Suerte Héctor Miguel ...Cruza los dedos...!!!

  •  
Edited by Leopoldo Blancas

Share this post


Link to post
Share on other sites

Desde luego me parece la mejor opcion ubicar TRANSPORTE y regresar 2 filas, para esto como deberia ir ma macro finalmente para no molestar mas con estas  consulta que debe ser facil para ustedes que son Masters.

Gracias

Share this post


Link to post
Share on other sites
Hace 21 horas, Milton Cordova dijo:

me parece la mejor opcion ubicar TRANSPORTE y regresar 2 filas

con los detalles ya comentados en el curso de esta consulta, probé el siguiente código con tus "plantillas" copiadas hasta la fila 35501 y resolvió en un abrir y cerrar de ojos

cópialo > pégalo en un módulo de código estándar y prueba, cuando estés conforme, ya puedes grabar el archivo

Sub insertaXfilasCadaY()
  Dim a As Long, m, n As Long, x As Long, y As Long, donde As Range
  a = 5 ' cuantas filas se insertan en cada grupo '
  With ActiveSheet
    m = Intersect(.UsedRange, .Columns(4)).Address: End With
  Names.Add "saltos", "=if(" & m & "=""transporte"",row(" & m & ")-2)"
  m = Filter([transpose(saltos)], False, False): Names("saltos").Delete
  n = LBound(m): y = UBound(m)
  Set donde = Cells(m(n), 1).Resize(a)
  For x = n + 1 To y
    Set donde = Union(donde, Cells((m(x)), 1).Resize(a)): Next
  donde.EntireRow.Insert: Set donde = Nothing
End Sub

nota: tu archivo contiene vínculos externos, varios nombres con error y algunos que parecen venir de macros de lotus-123 para d.o.s., esto confirma que no eres tan "novicio" en esto del excel y sus macros (?)

sugiero estudiar lo sugerido con el debido detenimiento, tiene instrucciones que ya debieran formar parte de tu léxico de programación (después de más de 10 años ?)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Hola buenas tardes amigos de Ayuda Excel Estoy parado en una macro que no he podido resolver a ver si pueden ayudarme. Gracias de antemano por su colaboración. Les explico. El archivo tiene varias hojas, Una se llama control enero, control febrero y asi sucesivamente La macro la voy a ejecutar en cada hoja Lo que debe hacer la macro es: 1)      copiar la celda A3, que es una formula, de la Hoja CONTROL 1  a la primera fila disponible de la columna A5 de la Hoja Control General. 2)      Copiar la celda j22 de Control 1 (que es una formula), como valor sin negrita a la primera fila disponible de F5 de la Hoja Control general. 3)      Hacer una botón para ejecutar la macro, teniendo en cuenta que solo debe ejecutarse si la celda j25 de la Hoja Control 1 es igual a SI. Por el contrario si es igual a NO, no debe permitir la ejecución de la macro. Pudiera ser advertido al usuario mediante un MSGBOX. 4)      Por último la posición de las celdas J22 y j25 pueden variar de hoja a hoja según la información introducida en cada hoja. Agradecidos de antemano por la colaboración prestada. LB Anexo archivo CONTROL GENERAL.xlsm
    • Un nuevo aporte para finalizar el proyecto Tengo el archivo funcionando cuando el usuario requiere solo una hoja activa. cuando se requiere que mas hojas estén activas no funciona. Ejemplo el user marco pass 123 debería tener activas las hojas "Registro, Registro1, Registro2". Con el codigo actual solo funciona la hoja "Registro" Ademas un favor extra que dependiendo el usuario que inicie sección ponga el Nombre de la columna "Nombre" en ("01.Adeudos" tabla "usuarios") del archivo en ACCESS y lo pegue en la hoja "Principal" celda C7 del archivo de EXCEL. en el siguiente enlace esta un ejemplo del proyecto. https://mega.nz/file/YRpRXZTL#Uynlq0oW77Eo0VbME26yYkKc1g7jXXu9w1AwfbFlRp0 De nuevo muchas gracias por toda la ayuda en el proyecto. Saludos
    • Hola buenas tardes amigos de Ayuda Excel. Quería preguntar si hay alguna manera de copiar y pegar una celda que tiene un prefijo en otra celda pero que el prefijo APAREZCA en la barra de fórmula. Gracias
    • Todo en la misma hoja.   Filtro Antoni.xlsm
    • Hola @Persal95 Una posible solución, Espero que sea de utilidad. Nos comentas.EJEMPLO AYUDA EXCEL 1.1.xlsx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy