Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por lucianolopes
Posts
#6996
Olá a todos!

Tenho um formulário de Pedido de Compras onde necessito diferenciar os tipos de formulários que serão gravados, tais como:
Requisição
Orçamento
Pedido
Para cada um deles necessito gravar em pasta diferente para organizar e separar os tipos de formulários.
Além disso, necessito vincular o nome do arquivo que conterá o número do Centro de Custo da Obra, e, ao salvar, o Excel identificará a pasta correta onde o arquivo deverá ser salvo. Por exemplo:
Pasta- C:\Excel\Orçamentos\"Centro de Custo" (será atribuído um número na configuração 3.100.083 - sempre com 9 caracteres)

Essa forma de gravação diferenciada também valerá para arquivo em PDF, pois, para cada Pedido é gerado um arquivo PDF. Então a pasta para gravação seria:
C:\PDF\Orçamentos\"Centro de Custo".

Não sei se fui claro, mas se alguem puder ajudar, agradeço.

Att.

Luciano
Por daniexcel
Posts
#6998
tente adaptar para sua planilha

EXPORTAR PDF:
Código: Selecionar todos
Sub SalvarPDF_Click()

        vbSimNao = 0
        vbSimNao = MsgBox("Deseja realmente relatorio " & [g11].Value & " ?", vbYesNo, "Exportar Relatório")
                'se resposta for sim, ele exclui, sai e desmarca
                If vbSimNao = 6 Then

                        Sheets("ND").Visible = True
                        
                                                   
                                myMesExp = Format(Month(Date), "00") 'STRING
                                myAnoExp = Format(Year(Date), "0000") 'STRING
                                myDataExp = "ND " & Left([A1].Value, 4) & "-" & Right([A1].Value, 3)  'STRING, onde A1 é a celula com nome do arquivo
                                NDPDF = ThisWorkbook.Path & "\" & myDataExp & ".pdf"
                                Sheets("ND").Range("a1:h51").ExportAsFixedFormat Type:=xlTypePDF, _ 'insira o intervalo que deve ser exportado como pdf
                                Filename:=NDPDF
                                ActiveWorkbook.Save
                                MsgBox ("O relatorio " & [A1].Value & " foi exportado para a pasta (" & ThisWorkbook.Path & ")."), _
                                vbInformation, "Status da Exportação"

                Else
                        Exit Sub
                End If
        
End Sub

SALVAR ARQUIVO
Código: Selecionar todos
Sub Save_File()

 vbSimNao = MsgBox("Tem certeza que deseja salvar o arquivo " & [A1].Value & " - " & [A1].Value & "?", vbYesNo, "FTI Consulting")
                'se resposta for sim, ele exclui, sai e desmarca
                If vbSimNao = 6 Then


    Sheets("MAIN").Select
    ActiveWindow.SelectedSheets.Visible = False

' salva o arquivo na pasta
On Error Resume Next
Dim Caminho As String 'declaracao da variável caminho
Caminho = [A2].Value & "\"
ActiveWorkbook.SaveAs Filename:=Caminho & [A3].Value & ".xls"
MsgBox ("Planilha Salva Como : ") & [A1].Value & ".xls   na pasta " & [A2].Value & " " _
    , vbInformation, "FTI CONSULTING"
    
                    Else
                  Sheets("Main").Select
                        Exit Sub
                End If
    End Sub
Espero ter ajudado
Por lucianolopes
Posts
#6999
Obrigado Dani!
Infelizmente não consegui fazer funcionar a macro.
Estou anexando o arquivo, se puder verificar, agradeço. Devo ter inserido algum intervalo errado e aparece informação de erro na macro.

Grato
Você não está autorizado a ver ou baixar esse anexo.
Por lucianolopes
Posts
#7019
Olá a todos!

Ainda com relação à esse tópico, vou tentar esclarecer melhor a necessidade.

Tenho um formulário de Pedido de Compras onde necessito diferenciar os tipos de formulários que serão gravados, tais como:
Requisição
Orçamento
Pedido
Para cada um deles necessito gravar o arquivo na pasta de trabalho correspondente, sendo: O arquivo Requisição ser gravado na pasta C:\Excel\...\Requisição - Orçamento, na pasta C:\Excel\...\Orçamento e Pedido na pasta C:\Excel\...\Pedido.

Resumindo, a macro irá identificar o arquivo e irá gravá-lo na pasta correta.

Essa forma de gravação diferenciada também valerá para arquivo em PDF, pois, para cada Pedido/Orçamento/Requisição é gerado um arquivo PDF. Então a pasta para gravação seria:
C:\PDF\Orçamentos...ou Pedidos ou Requisição.

Se alguém puder auxiliar, na mensagem anterior eu anexei o arquivo, inclusive com as macros já em uso para avaliação.

Grato
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord