Attribute VB_Name = "CombineSheets" ' Combina todas las hojas en una sola hoja "Combinado" (asume una fila de encabezado en cada una). Sub CombineAllSheets() Dim ws As Worksheet, master As Worksheet Dim lastRow As Long, destRow As Long Application.ScreenUpdating = False On Error Resume Next Application.DisplayAlerts = False ThisWorkbook.Sheets("Combinado").Delete Application.DisplayAlerts = True On Error GoTo 0 Set master = ThisWorkbook.Sheets.Add master.Name = "Combinado" destRow = 1 For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Combinado" Then lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row If destRow = 1 Then ws.Rows(1).Copy master.Rows(1) destRow = 2 End If If lastRow > 1 Then ws.Range(ws.Rows(2), ws.Rows(lastRow)).Copy master.Cells(destRow, 1) destRow = destRow + (lastRow - 1) End If End If Next ws Application.ScreenUpdating = True MsgBox "Se combinaron " & (destRow - 1) & " filas.", vbInformation End Sub