Copiar una hoja de Exel a un libro nuevo

Rebuscando he encontrado la siguiente macro; de nuestro amigo Dante, resuelve, casi por completo, lo que necesitaba. Os pongo la macro, que va de maravilla, solo que me gustaría que se grabara directamente en la misma carpeta de origen y, en la copia no apareciera el botón de comando. ¿Sería posible? Muchas gracias.

'Por. Dam
    On Error Resume Next
    ActiveSheet.Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Set navegador = CreateObject("shell.application")
    carpeta = navegador.browseforfolder(0, _
    "SELECCIONE UNA CARPETA PARA COPIAR EL ARCHIVO", 0, "C:\").items.Item.Path
    If carpeta <> "" Then
        If Right(carpeta, 1) <> "\" Then
            carpeta = carpeta & "\"
        End If
        If Range("C5") <> "" Then
            arch = Range("C5")
        Else
            arch = "archivo"
        End If
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs Filename:=carpeta & arch & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    End If
End Sub

2 Respuestas

Respuesta
3

Agrega la siguiente instrucción para no copiar los botones

Application.CopyObjectsWithCells = False

Quedaría así:

Sub Copiar_Hoja()
'Por.Dante Amor
    On Error Resume Next
    Application.CopyObjectsWithCells = False
    ActiveSheet.Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    carpeta = ThisWorkbook.Path & "\"
    If Range("C5") <> "" Then
        arch = Range("C5")
    Else
        arch = "archivo"
    End If
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=carpeta & arch & ".xls", _
        FileFormat:=xlNormal, Password:="", _
        WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    Application.CopyObjectsWithCells = True
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Respuesta
2

[Hola 

Prueba con esto 

Sub copyworbook()
'Por.Dam
'Act. Adriel Ortiz
    On Error Resume Next
    ActiveSheet.Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ruta = ThisWorkbook.Path & "\"
        If Range("C5") <> "" Then
            arch = Range("C5")
        Else
            arch = "archivo"
        End If
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs Filename:=ruta & arch & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Valorar para finalizar saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas