Ir ao conteúdo

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


Ir à solução Resolvido por Basole,

Posts recomendados

Postado

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
Postado

@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
Postado

@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

 

Postado

@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

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!