Você Quer Saber Como Eu Trabalho Com Esse Site Sem Precisar Deixar Meu Emprego Atual, Fazendo Uma Renda de Mais de R$2.000,00 Reais Por Mês? DIGA-ME SEU E-MAIL Que Vou Lhe Enviar o MANUAL + VIDEOS GRÁTIS




Artigos

Erro Em Tempo De Execução 1004





E ai pessoal tudo jóia? espero que sim rs ! estou eu aqui mais uma vez trazendo dicas sobre o excel e venho lhe dizer  fiquem ligados nesse artigo até o final, pois o que eu vou falar pode ser de extrema importância para vocês que usam o VBA para fazer planilhas inteligentes.

Não vou dizer isso exatamente para um  iniciante em excel… mas você que já tem um certo conhecimento sobre vba ou já cria suas próprias planilhas inteligentes já deve ter passado por aquela fase de não deixa o usuário ver o que você tem por trás dos formulários vba rs… estou certo? E para isso você declara aquele seguinte comando antes do Excel abrir.

aplication.visiblefalse Erro Em Tempo De Execução 1004

Esse é aquele famoso comando que oculta o excel e apenas apresenta os formulários “impossibilitando” do usuário ter o acesso ao que você tem por trás deles, esse código funciona muito bem mas porém ele ao mesmo tempo tem seu lado contrário e  isso na minha opinião é muito chato.

A primeira delas é, declarando esse comando você oculta todo o excel e isso acaba também ocultando o ícone do excel da barra de tarefas, e até hoje nesse exato momento eu não encontrei nem um tipo de código que faz com que o ícone do excel fique visível quando se é executado esse comando, se vocês souberem de algo me avisem aqui nos comentários rs.

O outro lado chato é que, como o excel estará oculto, não haverá possibilidade do usuário fecha a planilha e de forma alguma você poderá deixa o usuário clicar no botão fechar do formulário, isso porque ao fechar o formulário o usuário estará apenas finalizando ele e não o excel, ou seja, o excel continuara aberto mas porém oculto, e se o usuário abrir a planilha novamente aparecera uma mensagem do excel dizendo que aquele arquivo já esta aberto e assim o usuário poderá ter acesso aos dados da planilha.

É claro que temos como contorna esse problema da seguinte forma, desabilitando o botão fechar e você mesmo atribuindo um botão no formulário onde ele finalizara o trabalho ou então, declarar o código no evento queryclose do seu userform pois dessa forma sempre que o formulário for finalizado ele também finalizara o excel.

Por eu achar chato e desnecessário os esquemas de ocultar excel eu resolvi deixa de lado a idéia de esconder os dados da planilha para o usuário, até que um dia eu tive uma idéia rs.

Ideias Erro Em Tempo De Execução 1004

Ao invés de ocultar todo o excel eu simplesmente ocultei as planilhas que eu não queria que o usuário obtivesse acesso.

E o melhor disso é que, o código para fazer essa ação é muito simples veja:

plan1 false Erro Em Tempo De Execução 1004

Então tudo estava indo tão bem até que… tive um grande problema!

qual o problema e1417139307291 Erro Em Tempo De Execução 1004

 

O código que eu usava para salvar os dados do formulário na planilha era o mesmo da imagem a baixo, eu sempre usei ele e nunca tive problema veja:

codido que deu erro Erro Em Tempo De Execução 1004

Mas porém ao ocultar as planilhas tive sérios problemas, porque se vocês observarem bem, no começo do código tem uma declaração que seleciona a planilha certa para receber os dados de cada devido formulário especificado por mim.

plan seleciona Erro Em Tempo De Execução 1004.

Ai eu pergunto para vocês, como o vba vai selecionar uma planilha que está oculta? que burrice né ? Então eu tinha o seguinte erro.

erro ao seleciona planilha Erro Em Tempo De Execução 1004

Isso porque na hora de seleciona as planilhas o vba não as encontrava pelo fato delas estarem ocultas, e essa seleção de planilhas é muito importante porque por exemplo:

Imagina só, você tem um formulário que cadastra clientes e os dados desse formulário tem que ser salvos na plan1 certo? se você não declara o comando plan1.select e no momento dessa ação estiver uma outra planilha selecionada, os dados serão todos salvos na planilha que estive ativada no momento em que o usuário cadastrar os dados ou seja, se você tive dados nessa planilha simplesmente vai vira uma bagunça, pois o vba vai salva por cima dos dados dessa planilha e isso não pode acontece.

Galera quebrei a cabeça, pesquisei no Yahoo, pesquisei em fóruns e nada! Não achei nada que me ajudasse, mas mesmo assim  não desisti de pesquisa até que consegui encontra uma forma de salvar os dados com as planilhas ocultas, adaptei ao meu código então vualá kk, problema resolvido!

E simplesmente o código era esse vejam:

código solução Erro Em Tempo De Execução 1004

Não me pergunte como pois não sei explicar!, só sei que, esse código funcionou muito bem, com ele não é preciso seleciona a planilha para salvar os dados, basta “dizer ao código” qual é a planilha que recebera os dados e pronto.

set planilha Erro Em Tempo De Execução 1004

 

Pessoal espero que essa dica possa  servi para vocês futuramente ou até mesmo agora rs, deixa ai nos comentários a suas opiniões, e uma pergunta fica no ar… será que  existe uma outra possibilidade de fazer isso? se sim! Deixe seu comentário . Vlw e até a próxima galera.

Baixe a planilha que eu fiz de text para esse artigo e veja todo o procedimento do código cem erro!

botao download Erro Em Tempo De Execução 1004

 

 Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 1004 

Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 1004  Erro Em Tempo De Execução 100

Erro em Tempo

Sobre o autor | Website

  • I just want to say I am just new to blogging and site-building and really loved you’re web page. Likely I’m likely to bookmark your site . You absolutely have good writings. Thanks a bunch for sharing with us your website.

  • Kátia Cruz

    Welisson como faço para um userform de login, apos verificações de autenticidade, chamar o userform de cadastro por exemplo? O meu esta dando erro na linha userform2.show




Por gentileza, se deseja alterar o arquivo do rodapé,
entre em contato com o suporte.