Ir ao conteúdo
  • Cadastre-se

Excel VBA - Enfeitando Macro ocultando sheets, salvando em pasta separada, etc.


Ir à solução Resolvido por Basole,

Posts recomendados

Precisa saber alguns comando do VBA para as seguintes ações:

  • A sheet para carga pode sair em outro arquivo excel e ser salvo na pasta "temp" do usuário
  • O nome poderia ser CPallet_"Data/hora do sistema".csv
  • Como ocultar sheets e a macro ainda sim funcionar, ou se não tiver como só ocultar elas no final do comandocolocar um aviso quando finalizar o processo e uma caixa ou label onde o usuário possa copiar o nome do arquivo
  •  Um botão para limpar as informações
Link para o comentário
Compartilhar em outros sites

@isabela queiroz

 

veja se o código abaixo te atende.

 

Sub SalvarArquivo()
'autor: Anderson Marques 10/10/2022

    Dim NomArq As String
     
    Application.ScreenUpdating = False

    ‘defina qual guia deseja salvar
    Plan1.Select
    Plan1.Copy
        
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
            
    NomArq = ("CPallet_")   ‘Aqui você coloca o nome da aba que deseja salvar

   ‘importante colocar o caminho onde deseja salvar o arquivo
    stArqName = "C:\Users\" & NomArq & "_" & Format(Now(), "DD-MMM-YYYY") & ".csv"
    
   ‘o comando abaixo é so mesmo renomear a guia, caso não queira fazer, é só desprezar essas duas linhas
    Sheets("Aqui você coloca o nome da aba").Select
    Sheets("Aqui você coloca o nome da aba").Name = "Plan1"
    
    Application.DisplayAlerts = False
    
    ActiveWorkbook.SaveAs Filename:=stArqName _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    
    ActiveWorkbook.Activate
    Range("A2").Select
    ActiveWorkbook.Close

    ‘Comando pra ocultar guias
    Sheets(Array("guia 1", " guia 2", " guia 3", " guia 4", " guia 5") _
        ).Select
    ActiveWindow.SelectedSheets.Visible = False

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    msgbox "Arquivo Salvo com Sucesso" + Chr(13) + Chr(13) & "Disponível no endereço:" + Chr(13) & " C:\Users\ NomArq.csv "

    
End Sub

 

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

@Scofieldgyn @Basole Obrigada aos dois, estou fazendo uma junção dos dois códigos de vocês, mas o que não consegui entender/fazer é ocultar algumas planilhas mas mesmo assim ainda usar elas nas macros, teria como? fazer isso ou só da pra fazer depois que o codigo termina? 

 

seria os sheets "T_SAV" "Produtos" e  "Preenchendo_dados"image.png.ed13bdb884ac2b51e982d5f4c428b74d.png

 

@Basole Modifiquei apenas o nome dos sheets e por algum motivo não ta mais copiando as informaçoes pra aba nova que foi criada, fica sem informação nenhuma e salva vazia

Sub Salvar_Aba_Novo_Arquivo()


    Dim wb, wbnew   As Workbook
    Dim ws          As Worksheet
    Dim filename    As String
    
    On Error GoTo tr_ErRo0:
    Excel.Application.ScreenUpdating = False
    
    Set wb = ThisWorkbook 'ActiveWorkbook    ' PastadeTrabalho ativa
    Set ws = wb.Sheets("T_SAV")    'Nome da planilha que está copiando
    filename = "CPallet_" & VBA.Replace(VBA.Replace(VBA.Now, "/", "-"), ":", "-")
        
    'add Nova PastaTrabalho
    Set wbnew = Workbooks.Add
    wb.Activate

    'copia a planilha para uma nova pasta de trabalho
    wb.Sheets("T_SAV").Copy Before:=wbnew.Sheets(1)
    Application.DisplayAlerts = False

    wb.Save ' salva o arquivo ativo
       
    'salva o novo arq. criado na pasta Temp
    wbnew.SaveAs VBA.Environ("Temp") & Application.PathSeparator & filename, Excel.xlCSV
    wbnew.Close

    Application.DisplayAlerts = True
    
    InputBox "O Novo Arquivo " & VBA.Environ("Temp") & Application.PathSeparator & filename & ".csv" & _
     " Foi Criado com Sucesso !!!", "  Sucesso ! Copie o nome Arquivo! ", filename & ".csv"

tr_ErRo0:
    Excel.Application.ScreenUpdating = True
    
End Sub

 

Link para o comentário
Compartilhar em outros sites

@isabela queiroz testei o codigo que modificou e está funcionando perfeitaemnte.

 

De qualquer forma alterei o codigo para copiar celula por celula. (* este processo pode demorar dependendo dos seus dados).

Acrescentei tambem o comando para ocultar a aba de exemplo. 

 

*Para o comando ocultar aba, funcione sem erro, precisa acrescentar antes, o comando para ativar uma outra aba que esteja visivel.

 

Salvar_Sheet_Novo_Arquivo.zip

  • Curtir 1
  • Amei 1
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!