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
Respuesta de Elsa Matilde
1


