Ir ao conteúdo

Posts recomendados

Postado

Boa tarde a todos,

Tenho uma planilha com várias guias e uma delas é onde está um resumo dos dados (um relatório). Criei um botão para Salvar em PDF e encontrei o código abaixo, porém ele salva com o nome da pasta de trabalho, como não conheço de VBA, gostaria que me ajudassem a modificar esse código para que salve o PDF com o nome que contiver na célula "A1" da guia "RRB" que é a guia do relatório e no final do nome a data que foi gerado o PDF "aaaa-mm-dd".

Segue código encontrado:

 

Dim NomPastTrab As String

 

NomPastTrab = VBA.Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))

 

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\" & NomPastTrab & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True

 

Desde já agradeço a atenção...

Postado

Troque esta linha:

 

NomPastTrab = VBA.Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))

 

Por algo assim:

 

NomPastTrab = Sheets("Planilha1").Range("A1").value

 

Planilha1 é o nome da guia que você pretende salvar e A1 a celula onde esta o nome que você quer na planilha.

  • mês depois...
Postado

Pessoal bom dia!

Preciso de um macro para salvar como PDF vários nomes que está em outra aba da planilha. porém o nome precisa ser modificado na célula para calcular formulas de outras células. 

Exemplo: Eu preciso que o macro copie os nomes na aba SRA, um a um  e cole na célula "B2" OS.

 

Macro que gravei copiando apenas as duas primeiras células:

Sub PDF()
'
' PDF Macro
'

'
    Sheets("SRA").Select
    Range("C3").Select
    Selection.Copy
    Sheets("OS").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\jorge.neto.HSR\Desktop\Ordem de serviço\OS Automatizada_teste.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
    Sheets("SRA").Select
    Range("C4").Select
    Selection.Copy
    Sheets("OS").Select
    Range("B2").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\jorge.neto.HSR\Desktop\Ordem de serviço\OS Automatizada_teste2.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End Sub
Estou enviando planilha:

OS Automatizada_Modelo.xlsxBuscando informações...

Postado

 

Veja se atende.

 

Sub PDF()
 Dim c As Range
  For Each c In Sheets("SRA").Range("C3:C" & Sheets("SRA").Cells(Rows.Count, 3).End(3).Row)
   [B2] = c.Value
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\jorge.neto.HSR\Desktop\Ordem de serviço\OS Automatizada_teste.pdf", _
     Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
     :=False, OpenAfterPublish:=False
  Next c
End Sub

 

Postado
  Em 18/04/2019 às 17:30, osvaldomp disse:

 

Veja se atende.

 

Sub PDF()
 Dim c As Range
  For Each c In Sheets("SRA").Range("C3:C" & Sheets("SRA").Cells(Rows.Count, 3).End(3).Row)
   [B2] = c.Value
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\jorge.neto.HSR\Desktop\Ordem de serviço\OS Automatizada_teste.pdf", _
     Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
     :=False, OpenAfterPublish:=False
  Next c
End Sub

 

Expandir  

@osvaldomp Muito obrigado, deu certo! 

Completei esse código com o que eu já tinha e deu certo.

 

Segue código:

 

Sub PDF()

 Dim c As Range

  For Each c In Sheets("SRA").Range("C3:C" & Sheets("SRA").Cells(Rows.Count, 3).End(3).Row)

   [B2] = c.Value

           ChDir "C:\Users\jorge.neto.HSR\Desktop\Ordem de serviço"

  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("b2"), Quality:= _

        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

        OpenAfterPublish:=False

 

  Next c

End Sub

 

Postado
  Em 18/04/2019 às 17:50, Jorgedlneto disse:

Completei esse código com o que eu já tinha e deu certo.

Expandir  

 

O que exatamente você acrescentou ao código que passei ?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...