Ir ao conteúdo
  • Cadastre-se

Macro Salvar em PDF com numero de pedido.


Posts recomendados

Fala galera, estou criando uma planilha para pedidos de vendas. Não conhecia muitos dos recursos do excel, mas agora que vi o numero de possibilidades que existe nele.

Seguinte, por ser novato nos macros estive procurando e lendo diversos topicos relacionado a minha duvida, e o topico que mais me ajudou foi este: http://forum.clubedohardware.com.br/criar-macro-salvar/811162

mas mesmo assim não estou conseguindo fazer funcionar.

O que eu preciso:

No meu formulario de pedido, a celula Q3 é o numero do meu pedido, no topico que postei peguei este macro de lá e funcionou perfeitamente:

Private Sub Workbook_Open()

Range("Q3") = Range("Q3") + 1

Dim Msg, Style, Title, Help, Ctxt, Response, MyString

Msg = "Clique em SIM para gerar novo pedido! Clique em não para consultas de pedidos antigos." ' Define a mensagem.

Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define os botões.

Title = "Salvar Arquivo" ' Define o título.

Response = MsgBox(Msg, Style, Title)

If Response = vbYes Then ' O usuário escolheu Sim.

MyString = "Sim" ' Executa alguma ação.

ThisWorkbook.Save

Else

MyString = "Não" ' Nada é executado.

'não salva

End If

Agora, o que estou precisando é de um botão que salve o arquivo, com o nome do numero de pedido(Q3) em PDF e me avise que foi salvo.

Utilizo o excel 2007.

valeu galera xD

Link para o comentário
Compartilhar em outros sites

Boa noite renatobonini. Demorei mas consegui o que voce precisava.

Option Explicit

Sub Salvando()

Dim Nome As String

Dim SDate As String

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

End If

End Sub

Não esqueça de encerrar o tópico e marcar o polegar verde a sua direita.

Qualquer dúvida estou à disposição,

Leno Mota

Boa noite renatobonini. Demorei mas consegui o que voce precisava.

Option Explicit

Sub Salvando()

Dim Nome As String

Dim SDate As String

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

Qualquer dúvida estou à disposição,

Leno Mota.

End If

End Sub

Não esqueça de encerrar o tópico e marcar o polegar verde a sua direita.

Qualquer dúvida estou à disposição,

Leno Mota

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Leno! Ajudou muito

Era isso mesmo que eu estava procurando, mas só não consegui definir o local pra onde será salvo.

Teria como me ajudar?

O endereco pra onde qro é esse!

C:\Users\HP\SkyDrive\BONINI REPRESENTAÇÕES\1 - PEDIDOS\1 - PEDIDOS A ENVIAR\

Outra coisa, tenho um outro botao que eu fiz gravando o macro onde ele zera minha planilha de pedidos, gostaria que esse macro também mudasse o valor da Q3 pra + 1.

valeu!

Link para o comentário
Compartilhar em outros sites

Seria possivel postar sua planilha no sendspace? Se quiser pode me mandar por e-mail tambem. Essa parte do botão de zerar não entendi. Zerar: Apagar todos os dados?

Alterei o Filename pra voce mas não tenho como testar ja que meu windows é o XP e não possuo a pasta "Users"... etc...

O Código:

Option Explicit

Sub Salvando()

Dim Nome As String

Dim SDate As String

Dim MyLocal As String

MyLocal = "C:\Users\HP\SkyDrive\BONINI REPRESENTAÇÕES\1 - PEDIDOS\1 - PEDIDOS A ENVIAR\"

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

MyLocal & Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

End If

End Sub

Fico no aguardo da planilha ou de uma explicação mais clara sobre o botão de zerar...

Att,

Leno Mota

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Leno! Assim, possuo dois botões na minha planilha, um deles é este de salvar que você passou, e o outro é para limpar os dados da tabela. Esse que limpa os dados, eu gostaria que ele gerasse um numero maior em Q3, que é a celula de pedido.

Esse botao de zerar, eu criei gravando o macro que ficou assim:

Sub deletando()

'

' deletando Macro

'

'

Range("G26:I40").Select

Selection.ClearContents

Range("K26:T40").Select

Selection.ClearContents

Range("H42:U42").Select

Selection.ClearContents

ActiveWindow.SmallScroll Down:=12

Range("I44:K44").Select

Selection.ClearContents

Range("I46:N46").Select

Selection.ClearContents

Range("G48:M48").Select

Selection.ClearContents

Range("O48:T48").Select

Selection.ClearContents

ActiveWindow.SmallScroll Down:=-1

ActiveWindow.LargeScroll Down:=-1

Range("N12:O12").Select

Selection.ClearContents

End Sub

Falta, apenas aumentar um numero na Q3, para o numero do pedido ficar diferente.

Outra coisa, seria possivel no macro salvando, alem do nome do arquivo ser a celula Q3, ser Q2 + Q3 .pdf? como ficaria?

se puder me envie seu e-mail para lhe passa-la, não vou abrir aqui a todos pois tem todos dados de meus clientes...

valeu pela ajuda....

Link para o comentário
Compartilhar em outros sites

Claro que tem como ser Q2 + Q3!!! Podemos "TUDO" em VBA... rsrs...

"Q2" & "Q3" são valores numericos?

Subistitua a linha:

MyLocal = "C:\Users\HP\SkyDrive\BONINI REPRESENTAÇÕES\1 - PEDIDOS\1 - PEDIDOS A ENVIAR\"

Nome = Range("Q3").Value

Por:

MyLocal = "C:\Users\HP\SkyDrive\BONINI REPRESENTAÇÕES\1 - PEDIDOS\1 - PEDIDOS A ENVIAR\"

Nome = Range("Q3").Value + Range("Q2").Value

O meu e-mail é: <[email protected]>

Quanto ao "incremento de Q3 faça assim:

Inclua isso antes do "End Sub" desse seu código:

Dim y As Integer

y = Range("Q3").Value + 1

Range("Q3") = y

Qual a próxima dúvida? rs...

Não esqueça de marcar minhas respostas como úteis (clicando no polegar verde)...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Sim! Faz toda a diferença...

1 + 1 = 2 - Type Integer

1 & 1 = 11 -Type String

rsrs.... Somente pra ilustrar.

Substitua a linha:

Nome = Range("Q3").Value + Range("Q2").Value

Por:

Nome = Range("Q2").Value & " " & Range("Q3").Value

Coloquei um espaço entre o valor de q1 e q2, mas se quiser sem espaços, faça assim:

Nome = Range("Q2").Value & Range("Q3").Value

Espero ter ajudado e marca mais um polegar verde ae... rs

Qualquer dúvida pode chamar...

Att,

Leno Mota

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...
Em 27/06/2012 às 02:54, leno mota disse:

Boa noite renatobonini. Demorei mas consegui o que voce precisava.

Option Explicit

Sub Salvando()

Dim Nome As String

Dim SDate As String

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

End If

End Sub

Não esqueça de encerrar o tópico e marcar o polegar verde a sua direita.

Qualquer dúvida estou à disposição,

Leno Mota

Boa noite renatobonini. Demorei mas consegui o que voce precisava.

Option Explicit

Sub Salvando()

Dim Nome As String

Dim SDate As String

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

Qualquer dúvida estou à disposição,

Leno Mota.

End If

End Sub

Não esqueça de encerrar o tópico e marcar o polegar verde a sua direita.

Qualquer dúvida estou à disposição,

Leno Mota

Leno Mota,

 

eu estava buscando uma macro que fizesse exatamente o que você escreveu neste post.

 

Gostaria de saber se existe a possibilidade de incluir dentro dela uma tarefa que consiste em ocultar determinadas linhas (em sequencia) e depois de salvar o arquivo, reexibir as células ocultas.

 

Você consegue acrescentar esta tarefa?

 

Muito obrigado.

 

Fernando

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Bom dia Leno;

gostei muito do seu codigo vba, gostaria de saber se você pode me ajudar com um codigo; queria salvar uma planilha em pdf com nomes da celula b2 mais a1 em meus documentos: eu vi esse codigo seu:

Sub Salvando()

Dim Nome As String

Dim SDate As String

Nome = Range("Q3").Value

SDate = Now

If Nome <> vbNullString Then

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

Nome & ".pdf", Quality:=xlQualityStandard, _

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

True

MsgBox "O arquivo " & Nome & " foi salvo em " & SDate & ".", vbOKOnly, "Salvo"

Else

MsgBox "Nome do arquivo inválido", vbOKOnly, "Salvo"

Qualquer dúvida estou à disposição,

Leno Mota.

End If

End Sub

 

ele muito bom, mas precisava usar b2 e a1 juntos nesta ordem. obrigado

Link para o comentário
Compartilhar em outros sites

7 horas atrás, DIEGO SILVA BEZERRA disse:

Bom dia Leno;

 ... gostaria de saber se você pode me ajudar ...

 

Você endereçou o pedido de ajuda a um usuário cuja última visita ao fórum ocorreu há mais de 4 anos. Talvez ainda demore um pouco para ele retornar e lhe ajudar.

Se você não fizer questão de aguardá-lo então outras pessoas daqui do fórum talvez possam lhe ajudar.

 

Link para o comentário
Compartilhar em outros sites

Olá, Diego.

Veja se ajuda. Substitua no código MinhaPasta pelo nome da pasta na qual você deseja salvar.

Sub SalvaPlanilhaAtivaEmPDF()
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\MinhaPasta\" & [B2] & [A1] & ".pdf"
End Sub

 

Link para o comentário
Compartilhar em outros sites

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

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!