VBA que copie todas las hojas en otro archivo
Quiero que esta macro coja todas las hojas, copie todo su contenido en un archivo externo y después borre las celdas no protegidas.
Pero el código actual solo copia la hoja activa. Agradecería ayuda para hacer que funcionara. Esto es todo el código:
Private Sub CommandButton1_Click() Dim Fecha As String On Error Resume Next Range("A1:Z100").Select Selection.Copy Workbooks.Add ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteAll Fecha = Now Fecha = Replace(Fecha, "/", "-") Fecha = Replace(Fecha, ":", ".") Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="(aqui va la ruta)" & Fecha & " .xlsx" ActiveWorkbook.Close Application.DisplayAlerts = True contador = Sheets.Count For i = 1 To contador Sheets(i).Activate With ActiveSheet If .ProtectContents = True Then On Error Resume Next .UsedRange = "" On Error GoTo 0 End If End With Next i End Sub
1 respuesta
Respuesta de Elsa Matilde
1