Você precisa executar uma macro quando o Excel é iniciado? Você tem duas opções:
1. Crie uma subpasta Workbook_Open () em ‘ThisWorkbook’.
2. Coloque um sub Auto_Open () em qualquer módulo.
Workbook_Open Event
Crie um subtítulo ‘Workbook_Open’ em ‘ThisWorkbook’
123 | Workbook_open ()MsgBox "Este código foi executado no início do Excel!"End Sub |
Auto_Open
Usando o segundo método: simplesmente crie uma sub-rotina chamada Auto_Open e coloque o código nela, ou chame outra sub a partir daí. Automaticamente, seu código é executado quando o Excel é iniciado.
123 | Private Sub Auto_Open ()MsgBox "Este código foi executado no início do Excel!"End Sub |
Criar e nomear uma nova planilha sempre que o Excel abrir
O código a seguir funciona ao abrir uma pasta de trabalho. Ele adiciona automaticamente uma nova folha e a rotula com a data. Ele também verifica se a folha ainda não existe - para permitir a possibilidade de ela ser aberta mais de uma vez por dia.
Este código faz uso do Workbook Open Event e deve ser colocado no módulo workbook sob o evento “Open work Book”. A função Sheet_Exist deve ser colocada em um módulo e isso verifica se a planilha existe ou não:
123456789101112131415 | Sub pasta de trabalho privada_Open ()Dim New_Sheet_Name As StringNew_Sheet_Name = Format (Now (), "dd-mm-aa")Se Sheet_Exists (New_Sheet_Name) = False ThenCom pasta de trabalhoWorksheets.Add (). Name = New_Sheet_NameTerminar comFim seSalve End Sub |
12345678910111213 | Função Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet As WorksheetSheet_Exists = FalsePara Cada Folha de Trabalho Neste Livro de Trabalho. Folhas de TrabalhoIf Work_sheet.Name = WorkSheet_Name ThenSheet_Exists = TrueFim sePróximoFunção Final |
Para baixar o arquivo .XLSM para este tutorial, clique aqui
Definir a planilha padrão quando a pasta de trabalho for aberta
Deseja garantir que uma planilha sempre seja exibida primeiro quando uma pasta de trabalho for aberta? Por exemplo, quando você abre uma pasta de trabalho, a planilha 3 é sempre a planilha ativa. Veja como.
Você pode se referir a uma planilha do VBA por seu nome de programa (por exemplo, Planilha 3) ou por seu nome de guia (por exemplo, JanData). É melhor usar o nome do programa, porque se o nome da guia mudar, seu código VBA que se refere a um nome de guia não funcionará mais. No entanto, se você usar o nome do programa, o usuário pode alterar o nome da guia várias vezes e sua macro ainda funciona.
Para garantir que uma determinada planilha esteja sempre ativada quando uma pasta de trabalho for aberta, basta colocar o código sheet.activate na subcategoria workbook_open. Este é um exemplo que ativa a planilha3 usando o nome do programa sempre que uma pasta de trabalho é aberta.
123 | Sub Workbook_Open ()Sheet3.ActivateEnd Sub |
E isso acontece usando o nome da guia:
1234 | Sub Workbook_Open ()Planilhas ("mytabname"). AtiveEnd Sub |
Nota lateral: Você deve salvar e reiniciar o Excel para que isso funcione.
Nota lateral: Isso só funciona se as macros estiverem habilitadas.
Nota secundária: Coloque este código na janela de código para o objeto ThisWorkbook no VBE.
Carregar formulário toda vez que a pasta de trabalho for aberta
Se desejar carregar um formulário ou executar algum código VBA ao abrir uma pasta de trabalho do Excel, coloque seu código na janela de código Thisworkbook e no sub Workbook_Open.
Da sua planilha:
1. Pressione ALT e F11 para abrir o editor VB
2. Clique duas vezes na palavra ThisWorkbook para abrir a janela de código
3. Digite o seguinte código na janela de código ThisWorkbook
123 | Sub Workbook_Open ()UserForm1.ShowEnd Sub |
Nota lateral: Substitua Userform1 pelo nome do seu formulário
4. Feche o Excel e abra novamente.