Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Crafteribanez

Caminho da Pasta Atual Excel 2010

Recommended Posts

Bom dia, tenho a seguinte curiosidade, digo curiosidade pois consegui resolver a questão, porém não compreendi o porque do erro.

 

Tenho uma pasta de trabalho no Excel2010 com o seguinte procedimento dentro de um formulário. Para sair do formulário e ir para a planilha principal da pasta de trabalho:

Private Sub CmdMostraPlanilha_Click()

'Planilha Excel fica visível
Application.Visible = True

'Seleciona planilha Aviso
Workbooks("ModeloAMExcel2002porAIM").Worksheets("Aviso").Select
Unload Me

End Sub

Este procedimento funciona perfeitamente na minha máquina que possui MSOffice 2010.

Porém quando outro colega que também tem MSOffice 2010 clica sobre este procedimento sempre dá erro na linha:

'Seleciona planilha Aviso
Workbooks("ModeloAMExcel2002porAIM").Worksheets("Aviso").Select

 

Detalhe, já verifiquei, ambos 32bits Excel2010 e Windows7.

 

Tive de alterar todos os códigos da Pasta de Trabalho para?

Private Sub CmdMostraPlanilha_Click()

Dim WPA As Workbook
Dim WPASheet As Worksheet

Set WPA = ActiveWorkbook
Set WPASheet = WPA.Worksheets("Aviso")

'Planilha Excel fica visível
Application.Visible = True

'Seleciona planilha Aviso
WPASheet.Select

Unload Me
  
End Sub

Tirei este modelo de código com definição dos objetos workbook e worksheet do Canal do Alessandro Trovado do Youtube. Funcionou na máquina do colega e também na minha.

 

Me parece que o Excel2010 do colega não consegue reconhecer através do comando 'Worklbook("Pasta de Trabalho")...... a pasta ativa.

Porém no meu Excel2010 ele roda normalmente.

 

Pergunta ?? Existe no Excel 2010 alguma coisa que deva ser habilitada ou desabilitada para que o Excel2010 reconheça a própria pasta de trabalho sem a necessidade de criar a o objeto no caso "Dim WPA as workbook"  apenas indicando o caminho por Woorkbos("Pasta de Trabalho")....

Talvez no Excel2010 do colega tenha que ser adicionado algum complemento ??

Grato por uma ideia.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Crafteribanez, bom dia!

 

Você mesmo respondeu à sua pergunta, embora não tenha percebido, quando disse:

 

21 minutos atrás, Crafteribanez disse:

Me parece que o Excel2010 do colega não consegue reconhecer através do comando 'Worklbook("Pasta de Trabalho")...... a pasta ativa. [o grifo é meu]

 

Para poder usar o método Select, antes disso o objeto tem que estar ativo, senão dá erro 1004 ("O método Select da classe Worksheet falhou"). Então você deve usar o método Activate antes, para depois Selecionar, embora nem seja mais necessário usar Select depois, pois a própria ativação já seleciona também.

 

Então, substitua 

Workbooks("ModeloAMExcel2002porAIM").Worksheets("Aviso").Select

por

Workbooks("ModeloAMExcel2002porAIM").Worksheets("Aviso").Activate

 

Dois objetos de pasta de trabalho pré-definidos que podem lhe ser úteis também:

ThisWorkbook = pasta que contém o código que está rodando

ActiveWorkbook = pasta ativa, não necessariamente a que roda o código no momento.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • É, é mais interessante utilizar sempre "Activate" do que "Select", mesmo porque vai dar erro só com o Select.

     

    Este ja ativa e selciona, interessante, não tinha pensado por este lado. É, não dá para só ficar copiando código dos outros e ajustar, tem que pensar um pouquinho.

     

    Grato e bom trabalho.

     

     

     

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×