Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por AndreVitor
#48522
Boa Tarde pessoal do Guru !

Eu estou querendo fazer uma progress bar da seguinte situação:

* Vou rodar um ensaio que irá durar 180 dias, sendo que cada dia eu irei coletar dados diferentes. A minha ideia é criar uma planilha aonde eu tenha a data de início do ensaio, a data fim do ensaio (180 dias após o início) e a data com a função HOJE(). Tendo essas informações em mãos eu calculo quantos dias de ensaio já se passaram e cálculo a porcentagem desse número sobre o total de dias, com esse valor eu gostaria de ter uma Progress Bar que me mostre o progresso do ensaio de acordo com o avanço do mesmo e que fique sempre visível na planilha.

Eu fiz um macro de exemplo porém ele não cabe ao exemplo que eu dei acima. Gostaria de saber de vocês se existe alguma possibilidade de fazer o que eu estou propondo com UserForm. Se a resposta for não, gostaria de saber se existe alguma outra alternativa para seguir.

No mais, muito obrigado pela atenção.

ATT

André Vitor Barbosa Souza
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Jimmy
Avatar
#48527
Olá Andre,

Segue planilha com o ProgressBar.

Coloquei ela logo abaixo da célula onde está "% do Projeto Concluído :".
Como esse progresso vai se alterar apenas 1 vez ao dia, não tem a necessidade de atualizar constantemente. Programei pra atualizar toda a vez que a planilha é aberta.

A macro está no "Módulo1". Não se decepcione: só tem uma instrução mesmo, isso é tudo.

Se quiser testar, altere o valor da célula L6 (data de hoje) colocando outras datas, e depois clique na barra, porque eu programei ela pra se atualizar quando clicada.

É possível mover a Barra de lugar na planilha: clique direito sobre ela, pega pela linha externa (não pega ela pelo meio pois trata-se de 2 objetos agrupados, e arrastar pelo meio pode deslocar um em relação ao outro) e arrasta pra outro canto. Pode redimensionar também, arrastando os quadradinhos (não arraste pelo meio).

Se realmente quiser a barra em um form, avise que altero, mas acho que ela na planilha é mais prático. Se você, por exemplo, colocar ela na linha 1, e congelar paineis, ela pode nunca sair da tela.

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
Você não está autorizado a ver ou baixar esse anexo.
Por AndreVitor
#48611
Jimmy escreveu:Olá Andre,

Segue planilha com o ProgressBar.

Coloquei ela logo abaixo da célula onde está "% do Projeto Concluído :".
Como esse progresso vai se alterar apenas 1 vez ao dia, não tem a necessidade de atualizar constantemente. Programei pra atualizar toda a vez que a planilha é aberta.

A macro está no "Módulo1". Não se decepcione: só tem uma instrução mesmo, isso é tudo.

Se quiser testar, altere o valor da célula L6 (data de hoje) colocando outras datas, e depois clique na barra, porque eu programei ela pra se atualizar quando clicada.

É possível mover a Barra de lugar na planilha: clique direito sobre ela, pega pela linha externa (não pega ela pelo meio pois trata-se de 2 objetos agrupados, e arrastar pelo meio pode deslocar um em relação ao outro) e arrasta pra outro canto. Pode redimensionar também, arrastando os quadradinhos (não arraste pelo meio).

Se realmente quiser a barra em um form, avise que altero, mas acho que ela na planilha é mais prático. Se você, por exemplo, colocar ela na linha 1, e congelar paineis, ela pode nunca sair da tela.

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
Jimmy, achei genial sua solução.

Se não for muito abuso poderia me explicar como tu fez esse Array de 3 caixas de formulário ? Gostaria de saber poque eu pretendo introduzir mais um com a % de conclusão escrita no meio da barra.
Avatar do usuário
Por Jimmy
Avatar
#48617
Olá André,

Obrigado, mas a solução não é minha, eu a aprendi em algum momento do passado, e agora a uso e repasso.

Em linhas gerais você faz assim:

Cria duas caixas de texto de iguais tamanhos (finas e compridas como as barras de progresso), preenche uma com fundo branco, e a outra com fundo azul e sem borda. Depois coloca metade de uma sobre a outra, e verifica se a azul está por cima da branca. Se não tiver, mande-a para a frente para que fique por cima da branca. Agora posicione a azul exatamente sobre a branca de forma que só se veja a azul.

Via VBA você verifica o comprimento delas (propriedade .Width da caixa de texto) e anota o valor; no seu caso o valor é 185.

Depois seleciona as duas e agrupa apenas pra evitar que sejam desmembradas sem querer ao arrastar. Atribuir uma macro também ajuda, porque evita que sejam selecionadas com 1 clique normal. Mesmo que seja uma Sub vazia, sem instruções.

Quando quiser atualizar a barra de progresso você multiplica o 185 (comprimento total) pelo percentual de progresse. Por exemplo, se for 30%, ficará 55,5. Ai você altera o tamanho da azul (.Width) para esse valor. Quando chegar a 100%, ela terá o tamanho total de 185, cobrindo completamente a branca.

Por se tratar de uma caixa de textos, você pode mover o % para ela, e ele será exibido. Crie uma terceira, sem borda ou preenchimento, e que deve ficar em cima das outras duas. (parágrafo editado)

No seu caso, a macro atualiza o percentual apenas na abertura da planilha (evento open), e quando tecla-se sobre a figura.

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Se tiver dúvidas, avise.

Jimmy San Juan
Avatar do usuário
Por Jimmy
Avatar
#48627
Amanhã vou anexar a planilha com a barra com o percentual no centro.
Avatar do usuário
Por Jimmy
Avatar
#48666
Olá Andre,

Segue a planilha com barra de progresso com percentual.

Limpei a área apagando os módulos e formulário referentes ao outro método, que você queria implementar

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord