Excel 2007, necesito una macro que me crea una carpeta en mi escritorio y guarde en la misma la hoja activa
Ta tengo una macro que hace algo parecido. Pero necesito que las carpetas "PEDIDOS LAMA" Y "HISTORIAL CLIENTES LAMA" se creen solas en el escritorio y si ya están creadas que no se dupliquen que use la que ya esta.
Acá dejo la macro quizás me puedan ayudar a modificarla, por favor
gracias...
Tengo excel 2007
Sub Guardarhoja()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
'Por.Dante Amor
' Macro para crear carpeta, guardar una hoja
ActiveSheet.Unprotect
ActiveSheet.Range("$F$20:$F$224").AutoFilter Field:=1
'se impide que se ejecute la macro CHANGE de la hoja
Application.EnableEvents = False
Range("F20:I224").Select
Selection.Locked = False
Range("BM20:BN224").Select
Selection.Copy
Range("F20:G224").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Range("$F$20:$F$224").AutoFilter Field:=1, Criteria1:="<>"
Range("F4:G5").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Range("F4:G5").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("G7").Select
Application.CutCopyMode = False
'Por.Dante Amor
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set l1 = ThisWorkbook
Set h1 = l1.ActiveSheet
ruta = "C:\Users\pablo\Desktop\PEDIDOS LAMA\"
'ruta = "C:\trabajo\"
carp = "pedidos " & Format(Date, "dd-mm-yyyy")
nomb = h1.[G7] & " " & Format(h1.[F4], "dd-mm-yyyy-hhmmss")
'
rut2 = ruta & carp
If Dir(rut2, vbDirectory) = "" Then
MkDir rut2
End If
'
h1.Copy
Set l2 = ActiveWorkbook
l2.SaveAs Filename:=rut2 & "\" & nomb & ".xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'l2.SaveAs rut2 & "\" & nomb & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
l2.Close
' guardar en carpetas pedidos clientes
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set l1 = ThisWorkbook
Set h1 = l1.ActiveSheet
ruta = "C:\Users\Pablo\Desktop\HISTORIAL CLIENTES LAMA\"
'ruta = "C:\trabajo\"
carp = "pedidos " & [G7]
nomb = h1.[G7] & " " & Format(h1.[F4], "dd-mm-yyyy-hhmmss") & "-" & [I3]
'
rut2 = ruta & carp
If Dir(rut2, vbDirectory) = "" Then
MkDir rut2
End If
'
h1.Copy
Set l2 = ActiveWorkbook
l2.SaveAs Filename:=rut2 & "\" & nomb & ".xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'l2.SaveAs rut2 & "\" & nomb & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
l2.Close
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
'se vuelve a habilitar la macro CHANGE de la hoja
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
End Sub
Dejo la macro que tengo para que me ayuden a modificarla