Notifications
Clear all

Planilha entra em ERRO quando outra planilhas estão abertas

11 Posts
4 Usuários
0 Reactions
2,231 Visualizações
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Oi pessoal.

Sou ainda iniciante com o VBA e estou desenvolvendo uma rotina que já esta trabalhando normalmente. Só que descobrir um erro que esta atrapalhando.

Quando eu abro a planilha coloquei o seguinte código para poder retirar as faixas de opções, selecionar a planilha HOME e abrir automaticamente o formulário inicial.

Private Sub Workbook_Open()
Sheets("home").Select
Call sbx_retirar_faixa_opcoes
home.Show
End Sub

Até ai tudo bem. Ela funciona normal DESDE que seja a primeira planilha a abrir.

Se por a caso já exista outras planilhas em abertos, seja qual for, aparece o seguinte erro:

Erro 429: o componente activeX não consegue criar o objeto

E ao Depurar o código aparece em destaque o home.show

Então precisaria apenas parar a execução e iniciar novamente e funciona normalmente.

Então como posso concertar isso para que possa abrir normalmente mesmo que tenha outras planilhas em aberto?
Escrevi algo errado no código?

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 16/05/2014 4:58 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!
:?
O nome home está correto no objeto?

Verifique se as referencias em sua bibliotecas estão ok, ou marcas como ausente.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/05/2014 5:15 pm
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Esta certo sim.

Ela até que funciona normalmente, como disse na pergunta, mas apenas se ela for a primeira planilha a ser aberta, se já existir outra planilha aberta ela volta com esse erro.

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 16/05/2014 5:26 pm
themrl16
(@themrl16)
Posts: 60
Trusted Member
 

Boa noite pfarias!

Vc já tentou referenciar a planilha que possui o objeto que deseja exibir, ou exibir o formulário sem restrição? Pode ser que o Excel esteja se "perdendo" entre os arquivos devido a execução de alguma linha... Exemplo:

Private Sub Workbook_Open()
Sheets("home").Select
Call sbx_retirar_faixa_opcoes
Workbooks("Minha Plan").Activate 'Minha Plan = Nome do arquivo, sem a extensão do arquivo
home.Show vbModeless 'vbModeless = Sem restrição de janela (Permite trabalhar com mais de um form ao mesmo tempo)
End Sub

Caso não dê certo, por favor disponibilize a Sub sbx_retirar_faixa_opcoes para avaliarmos o que ela está fazendo... ou ainda, se puder realizar o upload do arquivo / anexá-lo no fórum, seria ainda mais fácil.

Abraços e bom fim de semana.

Leia as REGRAS
Utilize arquivos COMPACTADOS
PESQUISE
AGRADEÇA clicando na mãozinha ao lado da ferramenta citar.
Marque o tópico como [Resolvido], clicando no ao lado do botão citar.

Abraços,

Murilo L
------------
e-mail: [email protected]
skype: fareva_mlima

 
Postado : 16/05/2014 5:34 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Já tentou referenciar o livro?

Workbooks("MeuArquivo.xls").Worksheets("MinhaGuia").Activate

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/05/2014 5:36 pm
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Themrl16 e Alexandrevba,

Tentei fazer como falaram, mas não adiantou.

Themrl16, aqui esta o código do Sub sbx_retirar_faixa_opcoes

Sub sbx_retirar_faixa_opcoes()
ThisWorkbook.Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
[d11].Value = "Faixa de Opções (Menus)  - R-E-T-I-R-A-D-A-"
End Sub

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 16/05/2014 6:02 pm
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Opa, eu conseguir.

Falei anteriormente que não tinha conseguido, mas tinha digitado errado.

Conseguir apenas referenciado como AlexandreVBA falou.

Obrigado.

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 16/05/2014 6:17 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
 

Boa noite!!

Já tentou referenciar o livro?

Workbooks("MeuArquivo.xls").Worksheets("MinhaGuia").Activate

Alexandre,

Isso da certo sim, mas é comum trocarmos o nome do arquivo e, consequentemente, este código acarretará em erro. ok?

Existe um jeito de inserirmos um código no work_book que renomeai automaticamente o arquivo?

 
Postado : 16/05/2014 7:00 pm
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Boa noite!!

Já tentou referenciar o livro?

Workbooks("MeuArquivo.xls").Worksheets("MinhaGuia").Activate

Alexandre,

Isso da certo sim, mas é comum trocarmos o nome do arquivo e, consequentemente, este código acarretará em erro. ok?

Existe um jeito de inserirmos um código no work_book que renomeai automaticamente o arquivo?

Não tinha pensado nisso.

E muito provavelmente acontecerá isso, caso eu esqueça de trocar o nome no Editor.

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 16/05/2014 8:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Armazena o nome atual do arquivo em uma célula, depois passe via variável.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/05/2014 6:46 am
pfarias
(@pfarias)
Posts: 265
Reputable Member
Topic starter
 

Bom dia!!

Armazena o nome atual do arquivo em uma célula, depois passe via variável.

Att

Desse jeito ficou bem melho!

Valeu

Pietro Farias

Se foi resolvido suas dúvidas, lembre se de marcar o tópico como RESOLVIDO.

ANALISTA X

 
Postado : 17/05/2014 7:37 am