Ir ao conteúdo
  • Cadastre-se

Caminho da Pasta Atual Excel 2010


Posts recomendados

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.

 

 

 

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

É, é 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
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...