Macro crear hoja y guardar como...

Hola a todos los expertos, una vez más acudo en su ayuda,
he realizado una macro, la cual, copia datos de una hoja, los pega en otra nueva, y luego copia la hoja como archivo nuevo, para finalmente guardarla, preguntándome antes donde deseo guardarla.
Hasta aquí funciona perfecto, pero cuando la guardo, me guarda el archivo con el nombre que le introduje y también guarda una copia con el nombre Libro1 o 2 o 3 etc, y si cancelo la operación de guardar me guarda el archivo igual con el nombre de Libro1 o 2 o 3 etc.
También lo que me sucede es que de donde toma el nombre del supuesto archivo a guardar el cual es una fecha me la toma dia/mes/año y en la cenda ogiginal esta día-mes-año
Sub GuardarArchivo()
Dim strExcelArchivo As Variant
Dim Nomb_Libro As String
Nomb_Libro = Workbooks("Copia de 01-NOV-09").Sheets("planilla").Range("k1").Value
Sheets("Base").Select
Range("a5:q40").Select
    Selection.Copy
    Sheets("Base guardar").Select
    Range("a5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Sheets("Base guardar").Select
    Application.CutCopyMode = False
    Sheets("Base guardar").Copy
ActiveWorkbook.SaveAs
archivo = Application.GetSaveAsFilename _
("" & Nomb_Libro & "", "Libro de Microsoft Office Excel(*.xls), *.xls")
If archivo <> False Then
ActiveWorkbook.SaveAs archivo
Else
Exit Sub
End If
ActiveWindow.Close
    Sheets("Planilla").Select
End Sub
Alguien seria tan amable de ayudarme con esto. Les estaré muy agradecido.
Saludos desde Argentina,

1 Respuesta

Respuesta
1
'Prueba esta:
Sub GuardarArchivo()
Dim strExcelArchivo As Variant
Dim Nomb_Libro As String
Dim Nombrefecha As Date
Dim RutaCarpeta As String
Nombrefecha = Workbooks("Copia de 01-NOV-09").Sheets("planilla").Range("k1").Value
Nomb_Libro = Format(Nombrefecha, "dd-mm-yy")
Sheets("Base").Select
Range("a5:q40").Select
    Selection.Copy
    Sheets("Base guardar").Select
    Range("a5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Sheets("Base guardar").Select
    Application.CutCopyMode = False
    Sheets("Base guardar").Copy
archivo = Application.GetSaveAsFilename _
(Nomb_Libro, "Libro de Microsoft Office Excel(*.xls), *.xls")
If archivo <> False Then
ActiveWorkbook.SaveAs archivo
Else
Exit Sub
End If
ActiveWindow.Close
    Sheets("Planilla").Select
End Sub
Hola, Experto, tu ayuda me ha sido de mucha utilidad.
Quedo infinatamente agradecido por tu tiempo y ayuda.
Te deso una muy feliz navidad y prospero año nuevo .
Saludos desde Argentina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas