Quero que minha macro de formatação seja executada em uma pasta de trabalho diferente daquela em que a macro está armazenada. Até agora, só tenho este código:
Application.ScreenUpdating = False
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
--Do the things i want--
End If
Preciso ter o Dim ___ As para acompanhar?
Desculpe por qualquer confusão. A pasta de trabalho principal que abrigará esta macro terá muitas informações em várias guias diferentes.
A outra pasta de trabalho/dados brutos precisará de uma macro para formatá-la, já que haverá muitos tipos diferentes de dados brutos. Eu estava planejando criar uma macro para cada um, já que tudo terá um layout diferente. Isso é usado principalmente como uma proteção caso alguém não esteja prestando atenção e execute-o na pasta de trabalho do relatório principal e acidentalmente remova informações vitais.
ActiveWorkbook e ThisWorkbook não são variáveis, portanto não precisam (não podem) ser esmaecidas.
O VBA é bastante tolerante, então você não precisa diminuir o brilho das suas variáveis. É uma boa prática e ajuda a tornar seu código mais fácil de entender, então geralmente é um bom plano.
Usar uma 'cláusula de proteção' em vez de conter seu código em uma instrução if também pode ajudar a manter seu código simples.