Ir ao conteúdo
  • Cadastre-se

Excel VBA para novo arquivo


Ir à solução Resolvido por Visitante,

Posts recomendados

Gente to tentando criar uma macro que cria uma nova planilha e copia os dados da atual para a nova mas ela dá erro. Cria a "PASTA 1" e depois que salvo e fecho ela não cria novamente uma "PASTA 1" ela cria uma "PASTA 2" e não da pra colar. A parte em vermelho é que está dando erro apos criar a "PASTA 2"

 

 

 

Sub Macro1()
'
' Macro1 Macro
'

'
    Workbooks.Add
    Windows("banco de dados 6.9.xlsm").Activate
    Sheets("10").Select
    Range("A1:G40").Select
    Selection.Copy
    Windows("Pasta1").Activate
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveSheet.Paste
End Sub

 

Se alguém souber como corrigir ou tiver um meio mais simples agradeço
 

Link para o comentário
Compartilhar em outros sites

 

Experimente:

 

Sub Macro2()
 Dim ws As Worksheet
  Set ws = Workbooks("banco de dados 6.9.xlsm").Sheets("10")
  Workbooks.Add
  ws.[A1:G40].Copy [A1]
End Sub

 

ou, se a planilha ativa ao rodar o código for a planilha 10, utilize o código abaixo

Sub Macro3()
 Dim ws As Worksheet
  Set ws = ActiveSheet
  Workbooks.Add
  ws.[A1:G40].Copy [A1]
End Sub

 

Link para o comentário
Compartilhar em outros sites

@osvaldomp @osvaldomp

2 horas atrás, osvaldomp disse:

 

Experimente:

 


Sub Macro2()
 Dim ws As Worksheet
  Set ws = Workbooks("banco de dados 6.9.xlsm").Sheets("10")
  Workbooks.Add
  ws.[A1:G40].Copy [A1]
End Sub

 

ou, se a planilha ativa ao rodar o código for a planilha 10, utilize o código abaixo


Sub Macro3()
 Dim ws As Worksheet
  Set ws = ActiveSheet
  Workbooks.Add
  ws.[A1:G40].Copy [A1]
End Sub

Como eu faria para manter a mesma largura das colunas?

@osvaldomp

Link para o comentário
Compartilhar em outros sites

  • Solução
...

  Workbooks.Add
  ws.[A1:G40].Copy
  [A1].PasteSpecial xlPasteAll
  [A1].PasteSpecial xlPasteColumnWidths
End Sub

 

Como alternativa, se o intervalo de uso da planilha 10 for somente A1:G40, então você poderá fazer uma cópia dela.

Sub CópiaDaPlan10()
 Workbooks("banco de dados 6.9.xlsm").Sheets("10").Copy
End Sub

 

dica - para responder clique em Responder, localizada abaixo da última postagem. Só clique em Citar se necessário.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!