Vídeo #44 - Como ocultar apenas UMA pasta de trabalho com VBA

Поділитися
Вставка
  • Опубліковано 15 жов 2024
  • Se você desenvolve em VBA, com certeza já se deparou com esse problema. Você usa o comando application.visible = false para deixar sua aplicação mais profissional, mas ela oculta todas as planilhas abertas. E se eu te mostrar como ocultar apenas a pasta de trabalho que você precisa, deixando as outras intactas? Vale uma curtida, um comentário ou quem sabe uma inscrição?
    Se liguem nessa aula que preparei e fiquem a vontade para aplicar em seu userform.
    🆓 Acesse Grátis: organicsheets....
    📢Assista o Vídeo: • Vídeo #41 - ATUALIZAÇÃ...
    ✍️ Se Inscreva no nosso canal: / @organicsheets

КОМЕНТАРІ • 68

  • @weslleylopesmateus
    @weslleylopesmateus 2 роки тому +11

    Boa Fernando! Obrigado por levar em consideração minha dúvida e a torná-la em video!!!

    • @OrganicSheets
      @OrganicSheets  2 роки тому +1

      Que isso, obrigado pela audiência, espero ter ajudado.

  • @ClegivaldoSalesCruz
    @ClegivaldoSalesCruz Рік тому +1

    Dica excelente, excepcional. Tive um problema, não sei se foi apenas eu. É que se eu abrir outra planilha com userform aberto, tranquilo. Mas quando fecho a outra planilha, fecha a pasta de trabalho do userform também.

    • @OrganicSheets
      @OrganicSheets  Рік тому

      Jura Clegivaldo?
      Não sei o que pode ter ocorrido de errado, preciso fazer um teste e revisar o código.

    • @ClegivaldoSalesCruz
      @ClegivaldoSalesCruz Рік тому

      @@OrganicSheets Já sou teu fã. No seu também acontece isso também?

  • @danielluiz7736
    @danielluiz7736 2 роки тому +3

    TOP DEMAIS ERA ISSO QUE EU TANTO PRECISAVA , SHOW DE BOLA

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Show de bola Daniel, estamos felizes em ajudar.

  • @triciomorais7230
    @triciomorais7230 Рік тому +1

    Show,. No meu funcionou exatamente do mesmo jeito. Mas percebi que este código serve para planilhas abertas, e se caso for abrir outo arquivo excel após este, ele fica visivel novamente. Ese código funciona perfeitamente para arquivos já abertos, mas para outros após ele ele perde a propriedade e reabre, fica visivel de novo

    • @OrganicSheets
      @OrganicSheets  Рік тому +1

      Boa observação Tricio, terei que rever esse ponto.

  • @rogeriomelo3600
    @rogeriomelo3600 Рік тому +1

    Show de aula hein!
    Me ajudou muito aqui, só pra constar ganhou + 1 inscrito...rsrsr
    A cereja do bolo seria colocar um Msgbox perguntando se o usuário quer ou não acessar a planilha e caso a resposta seja sim, tivéssemos acesso a um userform de login (com usuário e senha), onde após 3 tentativas o arquivo se fechasse por completo.
    Bom...até o userform de acesso beleza, o problema está em fazer com que o VBA conte o número de tentativas e feche o arquivo após 3 tentativas erradas.

    • @OrganicSheets
      @OrganicSheets  Рік тому +1

      Obrigado pelas dicas Rogério.
      Anotado! 📝

  • @jorel739
    @jorel739 2 роки тому +2

    Cara, você é foda!
    Muito obrigado por usar seu tempo para ensinar, salvou meu projeto... Abraços.

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Jorel, eu agradeço de coração o feedback. 🚀

  • @luizfaresende
    @luizfaresende Рік тому +1

    Excelente explicação.
    Ajudou bastante. Muito obrigado.

  • @fabiograciano6213
    @fabiograciano6213 2 роки тому +2

    Fernando, foi muito útil sim, obrigado pelo suporte e atenção com as nossas dúvidas

  • @a27b38c49d50
    @a27b38c49d50 Рік тому +1

    Obrigado Fernando !!!!

  • @patrycia902
    @patrycia902 Рік тому +1

    Excelente, vai ser muito útil na execução de muitos projetos!

  • @LucasLima-yb6tf
    @LucasLima-yb6tf 2 роки тому +3

    Muito boa explicação, tira uma dúvida minha e se eu não querer que abra a aplicação, tipo ao fechar o userform ele salvar e fechar sem exibir a planilha?

    • @OrganicSheets
      @OrganicSheets  2 роки тому +2

      Olá Lucas,
      Na sub retorna() basta substituir o Windows(nomeplan).visible = true por Windows(nomeplan).Close SaveChanges:=True e o Application.Visible = True por Thisworkbook.Close SaveChanges:=True.
      Assim ele irá fechar a aplicação direto.
      😉✔

  • @russigomes
    @russigomes Рік тому +1

    Parabéns, maravilhoso.

  • @luizcarlosinformatica832
    @luizcarlosinformatica832 2 роки тому +1

    Cara parabéns você é muito bom

  • @wilsonlopesjunior1043
    @wilsonlopesjunior1043 Рік тому +1

    Olá. Foi bastante útil.
    Porém tenho um problema de configuração do Excel. A minha planilha de login com gifts não funciona na nova versão do Excel. Eu não sei onde habilitar. Você pode me ajudar? Desde já agradeço.

    • @OrganicSheets
      @OrganicSheets  Рік тому

      Fala Wilson, tudo bem?
      Mas o que acontece? Dá erro de ptrSafe?
      Provavelmente é em relação a versão utilizada, precisará atualizar o código.
      Dá uma olhada nesse link: www.tomasvasquez.com.br/forum/viewtopic.php?t=4257
      Caso não consiga, irei te ajudar.

  • @fabriciosc21
    @fabriciosc21 Рік тому +1

    No meu funcionou perfeitamente, porém quando eu fecho a outra planilha ele ta fechando tudo

    • @alcimarbandeira2757
      @alcimarbandeira2757 9 місяців тому

      Com a sua licença @OrganicSheets, fiz no meu código a seguinte maneira para impedir de fechar tudo, quando o intuito é apenas fechar pastas de trabalho avulsas, que não seja a que esta rodando o formulário.
      SOLUÇÃO:
      EM: EstaPastaDeTrabalho
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Dim nomeplan As String, nplan As Integer
      Dim nplan2 As Integer
      nomeplan = ThisWorkbook.Name
      nplan = Workbooks.Count
      If nplan > 1 Then
      Windows(nomeplan).Visible = True
      ActiveWorkbook.Close
      Cancel = True
      End If
      If nplan2 > 1 Then
      Windows(nomeplan).Visible = False
      Else
      Application.Visible = False
      End If
      End Sub

  • @wilsonfelixhonorio6359
    @wilsonfelixhonorio6359 2 роки тому +2

    Tenho um formulário com vários Combobox e Listbox que estão buscando dados na planilha, quando começo a digitar na Listbox a planilha abaixo começa a busca do dado abaixo do formulário, queria uma forma de deixar a planilha abaixo fixa na aba dashboard.

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Basta inserir sua rotina e colocar no fim a instrução: plan_dashboard.select

  • @lucasmoranlaselva418
    @lucasmoranlaselva418 2 роки тому +2

    Muito boas as dicas. Tenho uma dúvida, se você fechar a planilha "Organizador de Pastas" ele fecha também o formulário?

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Olá Lucas, obrigado por assistir o vídeo!
      Se entendi bem a sua pergunta, a resposta é não. Essa técnica consiste em ocultar apenas a aplicação Excel mantendo apenas os formulários visíveis.

  • @brennonunes6749
    @brennonunes6749 2 роки тому +1

    primeiramente parabéns pelo seu conteúdo, poucas pessoas no UA-cam fazem o que você faz. Esse método é quase perfeito, pois funciona apenas caso eu abra o arquivo primeiro, se eu abrir o meu sisteminha vba primeiro e depois outra planilha não fica oculto e se eu fechar a planilha que abri fica aberto o Excel do meu sisteminha vba. Não teria algum código que abrisse o Excel em uma nova instância no evento Initialize?

    • @OrganicSheets
      @OrganicSheets  2 роки тому +1

      Vou revisar, mas deveria funcionar independente de abrir primeiro ou não.
      Mas vc pode configurar para forçar a abertura do Excel em nova instância.
      docs.microsoft.com/pt-br/office/troubleshoot/excel/force-excel-to-open-new-instance

  • @rodrigues3244
    @rodrigues3244 Рік тому +1

    Vídeo sensacional! Fernando, observei uma coisa não sei se tem como resolver isso, quando você roda mais que uma aplicação (o seu projeto e outra planilha qualquer) quando você fecha a outra planilha a sua aplicação que está com o código volta a exibir a tela do Excel. Tem como resolver isso?

    • @OrganicSheets
      @OrganicSheets  Рік тому +1

      Nunca havia reparado, preciso rever o código 👌 Obrigado pela observação!

    • @alcimarbandeira2757
      @alcimarbandeira2757 9 місяців тому

      Com a sua licença @OrganicSheets, fiz no meu código a seguinte maneira para impedir de fechar tudo, quando o intuito é apenas fechar pastas de trabalho avulsas, que não seja a que esta rodando o formulário.
      SOLUÇÃO:
      EM: EstaPastaDeTrabalho
      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Dim nomeplan As String, nplan As Integer
      Dim nplan2 As Integer
      nomeplan = ThisWorkbook.Name
      nplan = Workbooks.Count
      If nplan > 1 Then
      Windows(nomeplan).Visible = True
      ActiveWorkbook.Close
      Cancel = True
      End If
      If nplan2 > 1 Then
      Windows(nomeplan).Visible = False
      Else
      Application.Visible = False
      End If
      End Sub

    • @OrganicSheets
      @OrganicSheets  6 місяців тому

      Obrigado por ajudar, Alcimar! 😊 Quanto mais possibilidades de resolver, melhor. Eu também desenvolvi uma alternativa de solução no vídeo #102. Obrigado pela contribuição! Abraços!

  • @marcosdonadelli3313
    @marcosdonadelli3313 2 роки тому +1

    Excelente, meu formulário não tem o Excel visível portanto eu fiz para ele fechar direto sem sair de outras planilhas abertas, porém não estou conseguindo abrir meu formulário VBA e abri outra planilha de excel paralela pois o formulário está aberto.

    • @OrganicSheets
      @OrganicSheets  2 роки тому +1

      Olá Marcos, obrigado por assistir o vídeo.
      Não entendi muito bem o seu problema.
      Se preferir, compartilha comigo via whatsapp que eu tento te ajudar. 21968748212.

  • @gilsonricardo1908
    @gilsonricardo1908 2 роки тому +1

    Olá Fernando.
    Usando esse código, é possível impedir que aplicação X seja aberto em duplicidade? Isto é, se a aplicação X já está aberto, mas minimizado, e caso clique em abrir novamente, aparece uma mensagem informando que a aplicação X já está aberta e impedir abertura de uma aplicação Y ?

    • @OrganicSheets
      @OrganicSheets  2 роки тому +1

      Olá Gilson, não entendi muito bem o raciocínio, poderia explicar de outra forma?

    • @gilsonricardo1908
      @gilsonricardo1908 2 роки тому +1

      @@OrganicSheets quero impedir que o usuário não abra o programa duas vezes ao mesmo tempo
      Cenário: minha aplicação X foi aberta através de um clic sobre o ícone dela. Mas então eu clico novamente no ícone e quero que apareça a mensagem de que a aplicação X já está aberta, e seja impedido de continuar.

    • @gilsonricardo1908
      @gilsonricardo1908 2 роки тому

      Então, sugere alguma coisa para resolver e impedir abertura em duplicidade?

  • @marcospierre3211
    @marcospierre3211 7 місяців тому +1

    Opa Fernando, muito obrigado por compartilhar seus ensinamentos!
    Será se consegue me ajudar? estou me aperfeiçoando em vba, porém, ultimamente tenho batido cabeça com uma coisa:
    Sempre que o forms está aberto e tem outra planilha aberta, eu preciso estar com a planilha dele aberta pra que puxe os dados certos, do contrário ele dá erro, pq ele procura em uma planilha que não existe esses dados..
    Já tentei algumas coisas, mas até o momento sem sucesso.

    • @OrganicSheets
      @OrganicSheets  7 місяців тому +1

      Fala Marcos, o ideal é sempre utilizar os codenames da planilha para referenciar melhor onde os dados precisam ser buscados. Os elementos da planilha têm "nome" que é o apelido do elemento e tem o "codename" que é o nome interno adotado pelo VBA. Sugiro que passe a utilizar esses codenames e renomear os elementos dentro do VBE.
      Outra opção é forçar a abertura da planilha em uma outra instância, assim o Excel dessa instancia irá interagir apenas com a planilha ideal.
      Espero ter ajudado, aqui no canal eu mostro como gerar um instalador para projeto em VBA e lá mostro como criar um executável que sempre gerará uma instancia única para seu projeto.

    • @marcospierre3211
      @marcospierre3211 7 місяців тому

      @@OrganicSheets Será se dá pra colocar o excel pra abrir somente o vba em outra instancia? ou seja, planilhas proximas abrem na instancia anterior rsrs conseguiu entender?

    • @OrganicSheets
      @OrganicSheets  6 місяців тому

      Voltei! Desculpa a demora. Então, não entendi muito bem... kkkkk Como assim planilhas próxima? E instancia anterior? Se eu entender essa parte, acho que conseguirei te ajudar... 😅

  • @rogeriomelo3600
    @rogeriomelo3600 Рік тому +1

    Tenho uma dúvida: Tendo duas planilhas abertas é apenas ocultado a planilha conforme comando VBA porém, ao clicar no botão fechar da planilha que não recebeu o comando, ambas planilhas acabam fechando, sendo que o intuito é fechar apenas uma delas. Como faço?

    • @OrganicSheets
      @OrganicSheets  Рік тому +1

      Rogério, pode ser algum bug, teria que analisar mais no detalhe o código.
      Irei voltar nesse projeto.

    • @rogeriomelo3600
      @rogeriomelo3600 Рік тому

      @@OrganicSheets Maravilha!

  • @wilsonfelixhonorio6359
    @wilsonfelixhonorio6359 2 роки тому +2

    Se eu tiver uma listbox de busca ele para de funcionar quando oculto a pasta de trabalho?

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Sim Wilson, ele funcionará. Porém precisa se atentar à chamada que você está fazendo.
      Se utiliza Worksheets("nome da sua planilha") não irá funcionar.
      Porém se utilizar o nome da planilha.range... funcionará normal.

  • @luizfernandocouto9991
    @luizfernandocouto9991 2 роки тому +1

    Professor, seria possível esconder a tela splash screen do Excel com o VBA?

    • @OrganicSheets
      @OrganicSheets  2 роки тому +1

      Olá Luiz, acredito que não.
      Pois o VBA somente é executado após o carregamento do Excel.

  • @NINJA544
    @NINJA544 Рік тому +1

    Como abrir uma pasta de trabalho (USERFORM) e não INTERFERIR em outro pasta já aberta SEM SER NECESSÁRIO abrir em outra instância do Excel (Trabalhar com as duas sem interferência)? Existe algum código?

    • @OrganicSheets
      @OrganicSheets  Рік тому

      Cris, o ideal seria abrir essa aplicação em uma nova instancia do Excel, ainda estou em busca de uma solução para fazer isso automaticamente. Mas você consegue forçar o Excel sempre abrir uma instancia nova a cada planilha executada, mas isso é feito lá na chave de registro do Windows.
      Espero conseguir ajudá-lo.
      Aquele abraço.

    • @NINJA544
      @NINJA544 Рік тому +1

      @@OrganicSheets valeu amigo, conseguir sem precisar abrir em nova instância

  • @belmarcosta1594
    @belmarcosta1594 Рік тому +1

    Show de boal.

  • @DiEG013
    @DiEG013 2 роки тому +1

    Instalei o Excel mais recente e estou com problema no o Excel 2016 não acontecia isso abria vários arquivos com macros diferentes em instancias separada

    • @OrganicSheets
      @OrganicSheets  2 роки тому

      Olá Diego, tudo bem?
      Obrigado por assistir, existe uma maneira de voltar abrir suas planilhas de Excel em instâncias separadas por padrão.
      Dá uma olhada nesse link: docs.microsoft.com/pt-br/office/troubleshoot/excel/force-excel-to-open-new-instance

  • @edhermarco1
    @edhermarco1 Рік тому +2

    ♥♥♥

  • @rodrigosimaon
    @rodrigosimaon 2 роки тому +1

    foi