none
Diferença Plan1.Select e Worksheets("Plan1").Select RRS feed

Todas as Respostas

  • A coleção Worksheets contém todos os objetos Worksheet (planilhas) de uma pasta de trabalho.

    Isso dá a vantagem de se referir ao número da planilha dentro de um laço de repetição, por exemplo:

    Worksheets(1).Visible = False

    Ou contar todas as planilhas de uma pasta de trabalho, por exemplo:

    Worksheets.Count

    Mas se você se refere apenas à plan1, não considera as outras planilhas da pasta.


    Anderson Diniz

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 8 de agosto de 2017 21:42
    terça-feira, 8 de agosto de 2017 21:41
  • Diogo,

    a diferença principal é que "Worksheets("Plan1")" se refere à aba cujo nome seja "Plan1", ou seja, o usuário comum pode renomear e impactar no funcionamento de sua macro. Já "plan1.Activate" se refere não ao nome da aba e sim ao seu "CodeName", que somente pode ser alterado no VBE, deixando o código imune a alterações de nome na aba. Porém, caso o usuário exclua a aba, diferentemente à primeira forma que basta dar o mesmo nome a outra aba (sem necessidade de abrir o VBE), na segunda forma é necessário editar o "CodeName" de outra aba ou trocar as referências no código.

    Resumindo, a melhor forma de uso depende das características de seu projeto, se deve se referir sempre à mesma aba ou àquela cujo nome você já definiu.

    Abraço.


    Filipe Magno

    quinta-feira, 10 de agosto de 2017 00:40