Erro ao executar a macro após tentar executá-la a partir da pasta de trabalho pesonal

0

Então eu escrevi uma macro. O cenário de uso é:

  • Eu abro um novo e novo arquivo CSV baixado de algum lugar
  • Minha macro é executada e faz alguma mágica com os dados

Como não quero copiar e colar minha macro em cada um dos novos arquivos CSV, descobri que posso mover essa macro para a pasta de trabalho PERSONAL.XLSB oculta, o que fiz. Infelizmente, ao tentar chamar essa macro do arquivo CSV, algum erro ocorre - não sei por quê.

Aqui está o quadro problemático do código:

 Sub copySheet()
    ThisWorkbook.Sheets(1).Copy _
    After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    Sheets(1).Activate
    ThisWorkbook.Sheets(1).Name = "X1"
    ThisWorkbook.Sheets(2).Name = "X2"

End Sub

Aqui está o erro que recebo:

Run-time error '1004':

Copy method of Worksheet class failed

    
por dstronczak 24.11.2015 / 14:10

1 resposta

0

Eu mesmo encontrei o soliton. Parece que meu código tentou executar a operação de cópia na pasta de trabalho pessoal em vez de executá-lo no ativo. Esta é a solução:

Private Sub copySheet()
    ActiveWorkbook.Sheets(1).Copy _
    After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
    Sheets(1).Activate
    ActiveWorkbook.Sheets(1).Name = "X1"
    ActiveWorkbook.Sheets(2).Name = "X2"

End Sub
    
por 24.11.2015 / 14:22