En macros como puedo guardar como nombre de archivo = el texto de una celda?

Pues ya toda mi pregunta esta arriba.

Pues ya toda mi pregunta esta arriba.

Pues ya toda mi pregunta esta arriba.

Pues ya toda mi pregunta esta arriba.

1 respuesta

Respuesta
2

H o l a: 

Si lo quieres guardar sin macros:

Sub Macro3()
'Por.Dante Amor
    celda = Range("B4")
    ActiveWorkbook.SaveAs Filename:=celda & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

Si lo quieres guardar con macros:

Sub Macro4()
'Por.Dante Amor
    celda = Range("B4")
    ActiveWorkbook.SaveAs Filename:=celda & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

si quieres una copia

Sub Macro5()
'Por.Dante Amor
    celda = Range("B4")
    ActiveWorkbook.SaveCopyAs Filename:=celda & ".xlsm"
End Sub

Dante, vi como funciona bien lo que me mandaste, sin embargo no me sirvió para lo que necesito hacer,  te mando el código

ChDir "C:\"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\NUEVA ENTREGA DE MATERIAL.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
    ChDir "C:\"
 Dim myOLApp
 Dim myOLItem
 Set myOLApp = CreateObject("Outlook.Application")
 Set myOLItem = myOLApp.CreateItem(olMailItem)
 With myOLItem
 .Subject = Range("H3").Value
 .to = "[email protected]"
 .Body = "Buen dia Mario, "
 .Body = myOLItem.Body & "Te adjunto esta nueva orden de compra."
 .Attachments.Add _
 "C:\NUEVA ORDEN DE COMPRA.pdf", _
 , 1
 .Send
 End With

Lo quiero guardar como archivo pdf y luego mandarlo por correo,

Gracias por tu ayuda Dante.

Esto fue lo que pusiste en tu pregunta:

"En macros como puedo guardar como nombre de archivo = el texto de una celda"

Cómo se supone que de eso que pusiste, se entienda que lo quieres en PDF y se envíe por correo.


Con lo que pusiste tampoco entiendo lo que quieres.

Si quieres el nombre de una celda.

Lo puedes hacer así.

Nombre = range("A5")

Pero solamente pongo ejemplos, porque no estás explicando en cuál celda está el nombre que quieres.


Si quieres que ayude deberás explicar lo que necesitas desde la pregunta inicial, es decir, explica con detalle lo que tienes y lo que deseas, pero con ejemplos y con datos reales, de otra forma no se puede saber qué es lo que finalmente quieres.


Si quieres guardar como PDF entonces sería así, cambia esta línea:

  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\NUEVA ENTREGA DE MATERIAL.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False

Por estas:

nombre = "C:\" & range("A5")
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        nombre & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False

Y en el correo tiene que ser así, cambia esta línea:

.Attachments.Add _
 "C:\NUEVA ORDEN DE COMPRA.pdf", _
, 1

Por esta:

. Attachments. Add nombre & ".pdf"

R ecuerda valorar la respuesta.

Si tienes todavía algún detalle, valora esta respuesta y crea una nueva pregunta, pero explicando claramente lo que necesitas.

sal u dos

Es exactamente lo que necesitaba. 

Muchas gracias Dante.

Ahora tengo otra cosa,  cuando corre el macro de outlook aparece una ventana,  la puedo quitar¿

gracias

No se puede quitar, es por la versión de excel.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas