Usando Objeto de Pasta de Trabalho no Excel VBA (Abrir, Fechar, Salvar, Definir)

Neste tutorial, abordarei como trabalhar com pastas de trabalho no Excel usando o VBA.

No Excel, uma ‘Pasta de Trabalho’ é um objeto que faz parte da coleção ‘Pastas de Trabalho’. Em uma pasta de trabalho, você tem diferentes objetos, como planilhas, planilhas de gráfico, células e intervalos, objetos de gráfico, formas, etc.

Com o VBA, você pode fazer muitas coisas com um objeto de pasta de trabalho - como abrir uma pasta de trabalho específica, salvar e fechar pastas de trabalho, criar novas pastas de trabalho, alterar as propriedades da pasta de trabalho, etc.

Então vamos começar.

Todos os códigos que menciono neste tutorial precisam ser colocados no Editor do Visual Basic. Vá para a seção ‘Onde colocar o código VBA’ para saber como funciona.

Se você estiver interessado em aprender VBA da maneira mais fácil, confira meu Treinamento Online Excel VBA.

Referenciando uma pasta de trabalho usando VBA

Existem diferentes maneiras de se referir a um objeto Workbook no VBA. O método que você escolher depende do que você deseja fazer. Nesta seção, abordarei as diferentes maneiras de se referir a uma pasta de trabalho junto com alguns códigos de exemplo.

Usando nomes de pasta de trabalho

Se você tiver o nome exato da pasta de trabalho à qual deseja se referir, poderá usar o nome no código.

Vamos começar com um exemplo simples.

Se você tem duas pastas de trabalho abertas e deseja ativar a pasta de trabalho com o nome - Exemplos.xlsx, você pode usar o código a seguir:

Sub ActivateWorkbook () Workbooks ("Examples.xlsx"). Ativar End Sub

Observe que você precisa usar o nome do arquivo junto com a extensão se o arquivo tiver sido salvo. Se não tiver sido salvo, você pode usar o nome sem a extensão do arquivo.

Se você não tiver certeza de qual nome usar, peça ajuda ao Project Explorer.

Se você deseja ativar uma pasta de trabalho e selecionar uma célula específica em uma planilha nessa pasta de trabalho, será necessário fornecer o endereço completo da célula (incluindo a pasta de trabalho e o nome da planilha).

Sub ActivateWorkbook () Workbooks ("Examples.xlsx"). Worksheets ("Sheet1"). Ative Range ("A1"). Selecione End Sub

O código acima ativa primeiro a Planilha1 na pasta de trabalho Exemplos.xlsx e, a seguir, seleciona a célula A1 na planilha.

Freqüentemente, você verá um código onde uma referência a uma planilha ou uma célula / intervalo é feita sem fazer referência à pasta de trabalho. Isso acontece quando você está se referindo à planilha / intervalos na mesma pasta de trabalho que contém o código e também é a pasta de trabalho ativa. No entanto, em alguns casos, você precisa especificar a pasta de trabalho para garantir que o código funcione (mais sobre isso na seção Esta pasta de trabalho).

Usando números de índice

Você também pode consultar as pastas de trabalho com base em seu número de índice.

Por exemplo, se você tiver três pastas de trabalho abertas, o código a seguir mostrará os nomes das três pastas de trabalho em uma caixa de mensagem (uma de cada vez).

Sub WorkbookName () MsgBox Workbooks (1) .Name MsgBox Workbooks (2) .Name MsgBox Workbooks (3) .Name End Sub

O código acima usa MsgBox - que é uma função que mostra uma caixa de mensagem com o texto / valor especificado (que é o nome da pasta de trabalho neste caso).

Um dos problemas que geralmente tenho com o uso de números de índice com pastas de trabalho é que você nunca sabe qual é a primeira pasta de trabalho e qual é a segunda e assim por diante. Para ter certeza, você teria que executar o código conforme mostrado acima ou algo semelhante para percorrer as pastas de trabalho abertas e saber seu número de índice.

O Excel trata a pasta de trabalho aberta primeiro para ter o número do índice como 1 e o próximo como 2 e assim por diante.

Apesar dessa desvantagem, o uso de números de índice pode ser útil. Por exemplo, se você deseja percorrer todas as pastas de trabalho abertas e salvar todas, você pode usar os números de índice. Nesse caso, como você deseja que isso aconteça com todas as pastas de trabalho, não está preocupado com seus números de índice individuais.

O código a seguir faria um loop por todas as pastas de trabalho abertas e fecharia todas, exceto a pasta de trabalho que tem este código VBA.

Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count For i = WbCount Para 1 Etapa -1 Se Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i) .Close End If Next i End Sub

O código acima conta o número de pastas de trabalho abertas e passa por todas as pastas de trabalho usando o loop For Each.

Ele usa a condição IF para verificar se o nome da pasta de trabalho é o mesmo da pasta de trabalho onde o código está sendo executado.

Se não for uma correspondência, ele fecha a pasta de trabalho e passa para a próxima.

Observe que executamos o loop de WbCount para 1 com um passo de -1. Isso é feito com cada loop, o número de pastas de trabalho abertas está diminuindo.

Este livro é abordado em detalhes na seção posterior.

Usando ActiveWorkbook

ActiveWorkbook, como o nome sugere, refere-se à pasta de trabalho que está ativa.

O código a seguir mostraria o nome da pasta de trabalho ativa.

Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name End Sub

Quando você usa o VBA para ativar outra pasta de trabalho, a parte ActiveWorkbook no VBA depois disso começa a se referir à pasta de trabalho ativada.

Aqui está um exemplo disso.

Se você tiver uma pasta de trabalho ativa e inserir o código a seguir nela e executá-la, primeiro mostrará o nome da pasta de trabalho que contém o código e, em seguida, o nome de Examples.xlsx (que é ativado pelo código).

Sub ActiveWorkbookName () MsgBox ActiveWorkbook.Name Workbooks ("Examples.xlsx"). Ativar MsgBox ActiveWorkbook.Name End Sub

Observe que, quando você cria uma nova pasta de trabalho usando o VBA, essa pasta de trabalho recém-criada se torna automaticamente a pasta de trabalho ativa.

Usando este livro de trabalho

Esta pasta de trabalho se refere à pasta de trabalho em que o código está sendo executado.

Cada pasta de trabalho teria um objeto ThisWorkbook como parte dela (visível no Project Explorer).

‘ThisWorkbook’ pode armazenar macros regulares (semelhantes às que adicionamos aos módulos), bem como procedimentos de eventos. Um procedimento de evento é algo que é disparado com base em um evento - como clicar duas vezes em uma célula, salvar uma pasta de trabalho ou ativar uma planilha.

Qualquer procedimento de evento que você salvar neste ‘ThisWorkbook’ estará disponível em todo o workbook, em comparação com os eventos de nível de planilha, que são restritos apenas às planilhas específicas.

Por exemplo, se você clicar duas vezes no objeto ThisWorkbook no Project Explorer e copiar e colar o código abaixo nele, ele mostrará o endereço da célula sempre que você clicar duas vezes em qualquer uma das células em toda a pasta de trabalho.

Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox Target.Address End Sub

Embora a principal função desta pasta de trabalho seja armazenar o procedimento de evento, você também pode usá-la para se referir à pasta de trabalho onde o código está sendo executado.

O código a seguir retornaria o nome da pasta de trabalho na qual o código está sendo executado.

Sub ThisWorkbookName () MsgBox ThisWorkbook.Name End Sub

A vantagem de usar ThisWorkbook (em vez de ActiveWorkbook) é que ele faria referência à mesma pasta de trabalho (aquela que contém o código) em todos os casos. Portanto, se você usar um código VBA para adicionar uma nova pasta de trabalho, a ActiveWorkbook mudará, mas ThisWorkbook ainda se referirá àquela que tem o código.

Criação de um novo objeto de pasta de trabalho

O código a seguir criará uma nova pasta de trabalho.

Sub CreateNewWorkbook () Workbooks.Add End Sub

Quando você adiciona uma nova pasta de trabalho, ela se torna a pasta de trabalho ativa.

O código a seguir adicionará uma nova pasta de trabalho e, em seguida, mostrará o nome dessa pasta de trabalho (que seria o nome do tipo Book1 padrão).

Sub CreateNewWorkbook () Workbooks.Add MsgBox ActiveWorkbook.Name End Sub

Abra uma pasta de trabalho usando VBA

Você pode usar o VBA para abrir uma pasta de trabalho específica quando souber o caminho do arquivo da pasta de trabalho.

O código a seguir abrirá a pasta de trabalho - Exemplos.xlsx, que está na pasta Documentos em meu sistema.

Sub OpenWorkbook () Workbooks.Open ("C: \ Users \ sumit \ Documents \ Examples.xlsx") End Sub

Caso o arquivo exista na pasta padrão, que é a pasta onde o VBA salva novos arquivos por padrão, então você pode apenas especificar o nome da pasta de trabalho - sem o caminho completo.

Sub OpenWorkbook () Workbooks.Open ("Examples.xlsx") End Sub

Caso a pasta de trabalho que você está tentando abrir não exista, você verá um erro.

Para evitar esse erro, você pode adicionar algumas linhas ao seu código para primeiro verificar se o arquivo existe ou não e, se existe, tente abri-lo.

O código a seguir verificaria a localização do arquivo e, se não existir, mostrará uma mensagem personalizada (não a mensagem de erro):

Sub OpenWorkbook () If Dir ("C: \ Usuários \ sumit \ Documents \ Examples.xlsx") "" Then Workbooks.Open ("C: \ Usuários \ sumit \ Documentos \ Exemplos.xlsx") Else MsgBox "O arquivo não não existe "End If End Sub

Você também pode usar a caixa de diálogo Abrir para selecionar o arquivo que deseja abrir.

Sub OpenWorkbook () Em caso de erro Resume Next Dim FilePath As String FilePath = Application.GetOpenFilename Workbooks.Open (FilePath) End Sub

O código acima abre a caixa de diálogo Abrir. Quando você seleciona um arquivo que deseja abrir, ele atribui o caminho do arquivo à variável FilePath. Em seguida, Workbooks.Open usa o caminho do arquivo para abri-lo.

Caso o usuário não abra um arquivo e clique no botão Cancelar, FilePath torna-se False. Para evitar um erro neste caso, usamos a instrução ‘On Error Resume Next’.

Relacionado: Saiba tudo sobre o tratamento de erros no Excel VBA

Salvando uma pasta de trabalho

Para salvar a pasta de trabalho ativa, use o código abaixo:

Sub SaveWorkbook () ActiveWorkbook.Save End Sub

Este código funciona para as pastas de trabalho que já foram salvas anteriormente. Além disso, como a pasta de trabalho contém a macro acima, se ela não tiver sido salva como um arquivo .xlsm (ou .xls), você perderá a macro na próxima vez que abri-la.

Se você estiver salvando a pasta de trabalho pela primeira vez, ela mostrará um prompt conforme mostrado abaixo:

Ao salvar pela primeira vez, é melhor usar a opção ‘Saveas’.

O código a seguir salvaria a pasta de trabalho ativa como um arquivo .xlsm no local padrão (que é a pasta de documentos em meu sistema).

Sub SaveWorkbook () ActiveWorkbook.SaveAs Filename: = "Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub

Se quiser que o arquivo seja salvo em um local específico, você precisa mencionar isso no valor Filename. O código abaixo salva o arquivo na minha área de trabalho.

Sub SaveWorkbook () ActiveWorkbook.SaveAs Filename: = "C: \ Users \ sumit \ Desktop \ Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub

Se quiser que o usuário tenha a opção de selecionar o local para salvar o arquivo, você pode usar a chamada da caixa de diálogo Saveas. O código abaixo mostra a caixa de diálogo Saveas e permite ao usuário selecionar o local onde o arquivo deve ser salvo.

Sub SaveWorkbook () Dim FilePath As String FilePath = Application.GetSaveAsFilename ActiveWorkbook.SaveAs Filename: = FilePath & ".xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled End Sub

Observe que, em vez de usar FileFormat: = xlOpenXMLWorkbookMacroEnabled, você também pode usar FileFormat: = 52, onde 52 é o código xlOpenXMLWorkbookMacroEnabled.

Salvar todas as pastas de trabalho abertas

Se você tiver mais de uma pasta de trabalho aberta e quiser salvar todas as pastas de trabalho, pode usar o código abaixo:

Sub SaveAllWorkbooks () Dim wb como workbook para cada wb em workbooks wb.Save Next wb End Sub

O comando acima salva todas as pastas de trabalho, incluindo aquelas que nunca foram salvas. As pastas de trabalho que não foram salvas anteriormente seriam salvas no local padrão.

Se você deseja salvar apenas as pastas de trabalho que foram salvas anteriormente, você pode usar o código a seguir:

Sub SaveAllWorkbooks () Dim wb As Workbook para cada wb Em Workbooks If wb.Path "" Then wb.Save End If Next wb End Sub

Salvar e fechar todas as pastas de trabalho

Se você deseja fechar todas as pastas de trabalho, exceto a pasta de trabalho que contém o código atual, você pode usar o código abaixo:

Sub CloseandSaveWorkbooks () Dim wb As Workbook para cada wb em Workbooks If wb.Name ThisWorkbook.Name Then wb.Close SaveChanges: = True End If Next wb End Sub

O código acima fecharia todas as pastas de trabalho (exceto a pasta de trabalho que contém o código - ThisWorkbook). Caso haja alterações nessas pastas de trabalho, as alterações serão salvas. Caso haja uma pasta de trabalho que nunca foi salva, será exibida a caixa de diálogo Salvar como.

Salvar uma cópia da pasta de trabalho (com carimbo de data / hora)

Quando estou trabalhando com dados complexos e painéis em pastas de trabalho do Excel, geralmente crio diferentes versões de minhas pastas de trabalho. Isso é útil caso algo dê errado com minha pasta de trabalho atual. Eu teria pelo menos uma cópia salva com um nome diferente (e só perderia o trabalho que fiz depois de criar uma cópia).

Aqui está o código VBA que criará uma cópia de sua pasta de trabalho e a salvará no local especificado.

Sub CreateaCopyofWorkbook () ThisWorkbook.SaveCopyAs Filename: = "C: \ Users \ sumit \ Desktop \ BackupCopy.xlsm" End Sub

O código acima salvaria uma cópia de sua pasta de trabalho sempre que você executar essa macro.

Embora funcione muito bem, eu me sentiria mais confortável se tivesse diferentes cópias salvas sempre que executar este código. A razão pela qual isso é importante é que, se eu cometer um erro inadvertido e executar essa macro, ela salvará o trabalho com os erros. E eu não teria acesso ao trabalho antes de cometer o erro.

Para lidar com tais situações, você pode usar o código abaixo que salva uma nova cópia do trabalho cada vez que você o salva. E também adiciona uma data e um carimbo de data / hora como parte do nome da pasta de trabalho. Isso pode ajudá-lo a rastrear qualquer erro cometido, pois você nunca perde nenhum dos backups criados anteriormente.

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) ThisWorkbook.SaveCopyAs Filename: = "C: \ Users \ sumit \ Desktop \ BackupCopy" & Format (Now (), "dd-mm-aa-hh-mm-ss -AMPM ") e" .xlsm "End Sub

O código acima criaria uma cópia sempre que você executar essa macro e adicionar um carimbo de data / hora ao nome da pasta de trabalho.

Crie uma nova pasta de trabalho para cada planilha

Em alguns casos, você pode ter uma pasta de trabalho com várias planilhas e deseja criar uma pasta de trabalho para cada planilha.

Esse pode ser o caso quando você tem relatórios mensais / trimestrais em uma única pasta de trabalho e deseja dividi-los em uma pasta de trabalho para cada planilha.

Ou, se você tiver relatórios de departamentos e quiser dividi-los em pastas de trabalho individuais, para poder enviar essas pastas de trabalho individuais aos chefes de departamento.

Aqui está o código que criará uma pasta de trabalho para cada planilha, dará a ela o mesmo nome da planilha e a salvará na pasta especificada.

Sub CreateWorkbookforWorksheets () Dim ws As Worksheet Dim wb As Workbook para cada ws em ThisWorkbook.Worksheets Set wb = Workbooks.Add ws.Copy Before: = wb.Sheets (1) Application.DisplayAlerts = False wb.Sheets (2) .Delete Application.DisplayAlerts = True wb.SaveAs "C: \ Users \ sumit \ Desktop \ Test \" & ws.Name & ".xlsx" wb.Close Next ws End Sub

No código acima, usamos duas variáveis ​​'ws' e 'wb'.

O código passa por cada planilha (usando o loop For Each Next) e cria uma pasta de trabalho para ela. Ele também usa o método de cópia do objeto de planilha para criar uma cópia da planilha na nova pasta de trabalho.

Observe que usei a instrução SET para atribuir a variável ‘wb’ a qualquer nova pasta de trabalho criada pelo código.

Você pode usar essa técnica para atribuir um objeto de pasta de trabalho a uma variável. Isso é abordado na próxima seção.

Atribuir objeto de pasta de trabalho a uma variável

No VBA, você pode atribuir um objeto a uma variável e, em seguida, usar a variável para se referir a esse objeto.

Por exemplo, no código a seguir, eu uso o VBA para adicionar uma nova pasta de trabalho e, em seguida, atribuo essa pasta de trabalho à variável wb. Para fazer isso, preciso usar a instrução SET.

Depois de atribuir a pasta de trabalho à variável, todas as propriedades da pasta de trabalho também estão disponíveis para a variável.

Sub AssigntoVariable () Dim wb As Workbook Set wb = Workbooks.Add wb.SaveAs Filename: = "C: \ Users \ sumit \ Desktop \ Examples.xlsx" End Sub

Observe que a primeira etapa do código é declarar ‘wb’ como uma variável do tipo de pasta de trabalho. Isso informa ao VBA que essa variável pode conter o objeto de pasta de trabalho.

A próxima instrução usa SET para atribuir a variável à nova pasta de trabalho que estamos adicionando. Assim que essa atribuição for concluída, podemos usar a variável wb para salvar a pasta de trabalho (ou fazer qualquer outra coisa com ela).

Loop por meio de pastas de trabalho abertas

Já vimos alguns exemplos de códigos acima que usam looping no código.

Nesta seção, explicarei diferentes maneiras de percorrer pastas de trabalho abertas usando o VBA.

Suponha que você queira salvar e fechar todas as pastas de trabalho abertas, exceto aquela com o código, então você pode usar o código abaixo:

Sub CloseandSaveWorkbooks () Dim wb As Workbook para cada wb em Workbooks If wb.Name ThisWorkbook.Name Then wb.Close SaveChanges: = True End If Next wb End Sub

O código acima usa o loop For Each para percorrer cada pasta de trabalho na coleção Workbooks. Para fazer isso, primeiro precisamos declarar ‘wb’ como a variável do tipo de pasta de trabalho.

Em cada ciclo de loop, cada nome de pasta de trabalho é analisado e se não corresponder ao nome da pasta de trabalho que contém o código, ele é fechado após salvar seu conteúdo.

O mesmo também pode ser alcançado com um loop diferente, conforme mostrado abaixo:

Sub CloseWorkbooks () Dim WbCount As Integer WbCount = Workbooks.Count For i = WbCount Para 1 Etapa -1 Se Workbooks (i) .Name ThisWorkbook.Name Then Workbooks (i) .Close SaveChanges: = True End If Next i End Sub

O código acima usa o loop For Next para fechar todas as pastas de trabalho, exceto aquela que contém o código. Nesse caso, não precisamos declarar uma variável de pasta de trabalho, mas em vez disso, precisamos contar o número total de pastas de trabalho abertas. Quando temos a contagem, usamos o loop For Next para percorrer cada pasta de trabalho. Além disso, usamos o número do índice para nos referir às pastas de trabalho neste caso.

Observe que no código acima, estamos fazendo um loop de WbCount para 1 com a Etapa -1. Isso é necessário, pois com cada loop, a pasta de trabalho é fechada e o número de pastas de trabalho diminui em 1.

Erro ao trabalhar com o objeto de pasta de trabalho (erro em tempo de execução '9')

Um dos erros mais comuns que você pode encontrar ao trabalhar com pastas de trabalho é - Erro em tempo de execução '9' - Subscrito fora do intervalo.

Geralmente, os erros do VBA não são muito informativos e muitas vezes deixam para você descobrir o que deu errado.

Aqui estão alguns dos possíveis motivos que podem levar a esse erro:

  • A pasta de trabalho que você está tentando acessar não existe. Por exemplo, se estou tentando acessar a quinta pasta de trabalho usando Pastas de trabalho (5) e há apenas 4 pastas de trabalho abertas, receberei este erro.
  • Se você estiver usando um nome errado para se referir à pasta de trabalho. Por exemplo, se o nome da pasta de trabalho for Exemplos.xlsx e você usar Exemplo.xlsx. então ele mostrará este erro.
  • Se você não salvou uma pasta de trabalho e usa a extensão, receberá este erro. Por exemplo, se o nome da pasta de trabalho for Book1 e você usar o nome Book1.xlsx sem salvá-lo, receberá este erro.
  • A pasta de trabalho que você está tentando acessar está fechada.

Obtenha uma lista de todas as pastas de trabalho abertas

Se você deseja obter uma lista de todas as pastas de trabalho abertas na pasta de trabalho atual (a pasta de trabalho onde está executando o código), você pode usar o código a seguir:

Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Ative For i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Value = Workbooks (i) .Name Next i End Sub

O código acima adiciona uma nova planilha e lista o nome de todas as pastas de trabalho abertas.

Se você deseja obter o caminho do arquivo também, pode usar o código a seguir:

Sub GetWorkbookNames () Dim wbcount As Integer wbcount = Workbooks.Count ThisWorkbook.Worksheets.Add ActiveSheet.Range ("A1"). Ative For i = 1 To wbcount Range ("A1"). Offset (i - 1, 0). Value = Workbooks (i) .Path & "\" & Workbooks (i) .Name Next i End Sub

Abra a pasta de trabalho especificada clicando duas vezes na célula

Se você tiver uma lista de caminhos de arquivo para pastas de trabalho do Excel, poderá usar o código a seguir para simplesmente clicar duas vezes na célula com o caminho do arquivo e ela abrirá essa pasta de trabalho.

Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Workbooks.Open Target.Value End Sub

Este código seria colocado na janela de código ThisWorkbook.

Para fazer isso:

  • Clique duas vezes no objeto ThisWorkbook no explorador de projetos. Observe que o objeto ThisWorkbook deve estar na pasta de trabalho em que você deseja essa funcionalidade.
  • Copie e cole o código acima.

Agora, se você tem o caminho exato dos arquivos que deseja abrir, pode fazer isso simplesmente clicando duas vezes no caminho do arquivo e o VBA abrirá instantaneamente a pasta de trabalho.

Onde colocar o código VBA

Quer saber para onde o código VBA vai em sua pasta de trabalho do Excel?

O Excel tem um back-end VBA chamado editor VBA. Você precisa copiar e colar o código na janela de código do módulo VB Editor.

Aqui estão as etapas para fazer isso:

  1. Vá para a guia Desenvolvedor.
  2. Clique na opção Visual Basic. Isso abrirá o editor VB no backend.
  3. No painel Project Explorer no VB Editor, clique com o botão direito em qualquer objeto da pasta de trabalho na qual deseja inserir o código. Se você não vir o Project Explorer, vá para a guia View e clique em Project Explorer.
  4. Vá para Inserir e clique em Módulo. Isso irá inserir um objeto de módulo para sua pasta de trabalho.
  5. Copie e cole o código na janela do módulo.

Você também pode gostar dos seguintes tutoriais do Excel VBA:

  • Como gravar uma macro no Excel.
  • Criando uma função definida pelo usuário no Excel.
  • Como criar e usar add-in no Excel.
  • Como recuperar macros colocando-as na pasta de trabalho pessoal de macros.
  • Obtenha a lista de nomes de arquivo de uma pasta no Excel (com e sem VBA).
  • Como usar a função InStr do Excel VBA (com exemplos práticos).
  • Como classificar dados no Excel usando VBA (um guia passo a passo).

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave