quarta-feira, 21 de setembro de 2011

7.3. Estrutura FOR – EACH – NEXT (5º EXEMPLO)

Achei que hoje não conseguiria atualizar o curso! Ufa!!!


5º EXEMPLO

No 1º EXEMPLO, assim como no 4º, exibimos os nomes das planilhas em MSGBOX’S separadas. Isto atrasa a execução e deixa o código chato e cansativo.

Para resolvermos tal problema, usaremos o mesmo critério adotado no 2º EXEMPLO. Mudaremos a estrutura do código para que o nome das planilhas sejam exibidos em uma única MSGBOX’S.


                                     

CÓDIGO PARA COPIAR

Sub ForEachNext5()

'Declaramos a variável que receberá a planilha.
Dim Planilha As Worksheet
'Declaramos a variável que portará a mensagem que será exibida
Dim Mensagem As String

Mensagem = "OS NOMES DAS PLANILHAS SÃO: " & Chr(13) & Chr(13)
    'Para cada planilha  no livro de trabalho aberto ou ativado, acessaremos a coleção planilhas
    For Each Planilha In ActiveWorkbook.Worksheets
    'Vamos selecionar planilha por planilha. Quando o LOOP rodar pela 1ª vez, ele selecionará a 1ª planilha,
    'no caso, Plan1.
    Planilha.Select
    'Após selecionar-mos a planilha, vamos dar um nome a ela. Para tanto, vamos usar uma INPUTBOX. É importante
    'lembrar, que estamos trabalhando ao nível do aplicativo, assim, o nome que você der a planilha, este será
    'o nome que ela terá à partir deste momento.
    Planilha.Name = InputBox("Introduza o nome que você quer dar a planilha", "INSERINDO PLANILHAS")
    Next
   
    'A diferença principal deste código para o do 4º EXEMPLO está aqui. Usaremos a variável mensagem para armazenar
    'os nomes das planilhas enquanto o LOOP é executado.
    For Each Planilha In ActiveWorkbook.Worksheets
    'Selecionamos a planilha
   
    'Na primeira execução, teremos o texto da mensagem mais o nome da 1ª planilha. Na segunda execução, já teremos na
    'variável mensagem o texto e o nome da primeira planilha. Como a variável mensagem será ela mesma + a proxima planilha,
    'ela ficará agora com o nome de mais uma planilha e assim sucessivamente. Moleza!!!
    Mensagem = Mensagem & Planilha.Name & Chr(13)
    Next

    MsgBox Mensagem
End Sub


Como você percebeu, fiz todas as considerações importantes estão no próprio código. O resultado será este:





OBS: Não se esqueça! Depois que fizer os testes do código, será necessário digitar os nomes antigos das  planilhas, sob pena dos códigos dos exemplos anteriores deste curso não funcionarem corretamente corretamente.

Com este 5º EXEMPLO, finalizamos o estudo básico da estrutura FOR-EACH-NEXT e dos LOOP’S.

Talvez você não tenha encontrado até o momento, aplicabilidade para as estruturas de decisão e repetição que estudamos. E isto é perfeitamente compreensível meus caros ladies e gentleman. A construção de um sistema perfeitamente funcional exige a aplicação de todos os conceitos que aprendemos até o momento, assim como a aplicação simultânea das estruturas de decisão e repetição.

Logo, aprenderemos como mesclar essas estruturas para elaborar nossos sistemas e você verá o poder do Visual Basic for Application(VBA). EM BREVE!!! NESTE BLOG!!!

HASTA LA VISTA AMIGOS!!!!


Para acessar o curso completo Clique aqui

Nenhum comentário: