2º EXEMPLO
Agora, vamos pensar um pouquinho. Se tivermos três planilhas, como você viu, todas serão exibidas em MSGBOX’S diferentes. Se tivéssemos quinze planilhas, teríamos que clicar em OK o mesmo número de vezes para ver o nome de cada planilha. Assim, daria mais trabalho criar o LOOP do que ver os nomes na própria planilha. Porém, com criatividade e lógica algorítmica podemos resolver este problema.
Será melhor obviamente, exibir os nomes das planilhas em uma única MSGBOX. Para isto, vamos criar uma variável para receber a mensagem, para fazermos uma chamada a ela dentro do FOR-EACH-NEXT. Depois é só exibir a mensagem quando o LAÇO for desfeito.
Mais fácil que tirar doce dos Smurfs.
CÓDIGO PARA COPIAR
Sub ForEachNext2()
'Primeiro, declaramos as variáveis
Dim Planilha As Worksheet 'Refere-se a cada planilha em específico.
Dim Mensagem As String 'Vamos criar uma variável que receberá a mensagem
'Vamos armazenar o texto na variável mensagem.
Mensagem = "OS NOMES DAS PLANILHAS SÃO: " & Chr(13)
'Neste caso, vamos exibir todos os nomes em uma só MSGBOX
'No objeto Application, estão todos os objetos do EXCEL, como menus, barras de comando, planilhas, barras de rolagem,
'celulas e tudo mais. Ou seja, Application é o próprio aplicativo. Então, vamos buscar o objeto application dentro
'do próprio Excel. Depois, buscamos a planilha ativa(ActiveWorkbook) com o conjunto de todas as planilhas que estão
'nela(worksheets)
For Each Planilha In Excel.Application.ActiveWorkbook.Worksheets
'O Chr(13) para pular linhas (como um enter)
'Agora, vamos capturar o nome de cada planilha. Para tanto, usaremos a variável mensagem para armazenar o nome
'das planilhas a cada execução do LAÇO. Desta forma, quando o LOOP for rodado pela 1ª vez a Plan1 ficará armazenada
'na variável mensagem. Quando rodar pela 2ª vez, a variável que já possuem plan1, receberá também Plan2 e assim por
'diante
Mensagem = Mensagem & Planilha.Name & Chr(13)
Next
'Quando o FOR-EACH-NEXT capturar a última planilha o LAÇO será desfeito, então poderemos exibir a mensagem com todas
'as planilhas. Faça o teste.
MsgBox Mensagem
End Sub
Para acessar o curso completo Clique aqui
Nenhum comentário:
Postar um comentário