Macro que detecte fila vacías para pegar series
Tengo una plantilla donde genero guías manuales, le he adaptado un código VBA para que me suba series a partir de la celda B25 hacia abajo.
Como se muestra en la foto.
Pero ya detecte que aun la macro no me es eficiente. Debido a que, cuando tengo un solo código en A24 y una descripcón en B25, la macro sube las series correctamente.
Pero tengo varios escenarios :
Es decir, la guía puede tener varios códigos y descripciones, y subo series por descripción y cantidad de 10 en 10, la primera empezó de la B25, pero después la macro tendría que ubicar la siguiente fila vacía que en la foto empieza en B33 y termina B34 y así sucesivamente al cargar. En el ejemplo, lo resaltado en amarillo.
La guía puede tener varios códigos en distintas direcciones de celda, las series siempre se van a cargar en la columna B ; Pero debe ubicar la fila vacía para subirlas.
Adjunto el código VBA para adaptar para ver como se puede adaptar, ya que yo lo puse empiece en B25 y no debe ser así.
Sub Subirseries() Application.ScreenUpdating = False Application.DisplayAlerts = False ' Set l1 = ThisWorkbook Set h1 = l1.Sheets(1) ruta = l1.Path & "\" ChDir ruta archi = Dir(ruta & "*.xlsm*") Do While archi <> "" If archi <> l1.Name Then Set l2 = Workbooks.Open(ruta & archi) Set h2 = l2.Sheets(1) u2 = h2.Range("O" & Rows.Count).End(xlUp).Row If u2 < 1 Then u2 = 1 'h2.Range("F12:F" & u2) = h2.[B8] u1 = h1.Range("B" & Rows.Count).End(xlUp).Row + 1 If u1 < 25 Then u1 = 25 h2.Range("O1:O" & u2).Copy h1.Range("B25:B" & u1).PasteSpecial Paste:=xlValues l2.Save l2.Close End If archi = Dir() Loop Range("B25").Select End Sub
Mis series la jalo de otro libro que empieza de la celda O1
están en este orden
Atento a su soporte.