Problema al guardar un archivo excel en una carpeta creada

Tengo un problema con una macro, me funciona toda hasta el punto en el que quiero grabar el archivo excel como una copia en la carpeta que he creado.

La porción de la macro es la siguiente

sNombre = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
ruta = sNombre & "\personales\"
nomcarpeta = h1.Range("C2")
MkDir ruta & "\" & nomcarpeta
ruta2 = ruta & "\" & nomcarpeta
For Each hoja In ActiveWorkbook.Sheets
hoja.Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta2 & "\" & hoja.Name
Next
ActiveWorkbook. SaveAs ruta2 & "\" & nomcarpeta & ".xlsm"

Los pdf los guarda perfectamente, pero el archivo excel, que lo quiero llamar con el mismo nombre de la carpeta, me da error, lo he cambiado de varias maneras y asi es la ultima que traté.

1 Respuesta

Respuesta
1

Hice algunas adecuaciones a tu código.

Prueba y me comentas.

Sub prb()
  Dim sNombre As String, ruta As String, nomcarpeta As String, ruta2 As String
  Dim h1 As Worksheet, hoja As Worksheet
  '
  Set h1 = ActiveSheet
  '
  sNombre = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
  ruta = sNombre & "\personales\"
  nomcarpeta = h1.Range("C2")
  ruta2 = ruta & nomcarpeta
  '
  If Dir(ruta2, vbDirectory) = "" Then
    MkDir ruta2
  End If
  '
  For Each hoja In ActiveWorkbook.Sheets
    hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta2 & "\" & hoja.Name
  Next
  ActiveWorkbook.SaveCopyAs ruta2 & "\" & nomcarpeta & ".xlsm"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas