Copiar ultima fila de distintas hojas definidas en Hoja 1

Tengo la siguiente macro que copia la ultima fila a la hoja Resumen la información de las hojas definidas en

Shs = Array("Guirado", "Alvarez") 'hojas a copiar

Me gustaría que esa información de donde se elija de que hojas copiar la ultima fila lo tome de la llamada Hoja1, columna A.

Sub CopiarUltimaFila()
  'Por Dante Amor
  Dim shs As Variant, sh As Variant
  Dim sh1 As Worksheet
  Dim lr1 As Long, lr2 As Long
  '
  Application.ScreenUpdating = False
  shs = Array("Guirado", "Alvarez")  'hojas a copiar
  Set sh1 = Sheets("Resumen")             'hoja destino
  '
  For Each sh In shs
    lr1 = sh1.Range("B:DF").Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1
    lr2 = Sheets(sh).Range("B:DF").Find("*", , xlValues, , xlByRows, xlPrevious).Row
    sh1.Range("B" & lr1).Resize(1, 109).Value = Sheets(sh).Range("B" & lr2).Resize(1, 109).Value
  Next
  Application.ScreenUpdating = True
End Sub

1 respuesta

Respuesta
2

Te paso la macro.

Puse la hoja "Indice" para leer los nombres de las hojas.

Sub CopiarUltimaFila()
  'Por Dante Amor
  Dim sh1 As Worksheet
  Dim lr1 As Long, lr2 As Long
  Dim c As Range
  '
  Set sh1 = Sheets("Resumen")             'hoja destino
  For Each c In Sheets("Indice").Range("A1", Sheets("Indice").Range("A" & Rows.Count).End(3))
    lr1 = sh1.Range("B:DF").Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1
    lr2 = Sheets(c.Value).Range("B:DF").Find("*", , xlValues, , xlByRows, xlPrevious).Row
    sh1.Range("B" & lr1).Resize(1, 109).Value = Sheets(c.Value).Range("B" & lr2).Resize(1, 109).Value
  Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas