Notifications
Clear all

Pintar figura vinculando com caixa de texto

14 Posts
3 Usuários
0 Reactions
2,456 Visualizações
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Boa tarde galera, preciso da ajuda dos(as) senhores(as) com a seguinte situação:

Preciso que as figuras inseridas na planilha sejam pintadas de acordo com as datas colocadas em uma caixa de texto.
Não há a possibilidade de trocar a caixa de texto por células normais.
E a célula não tem a possibilidade de ficar alinhada com uma imagem/figura

Ex.:

Se o valor da caixa_de_texto_1 for <= A1;Pintar de verde a figura_1
Se o valor da caixa_de_texto_1 for >= A1;Pintar de amarelo a figura_1
Se o valor da caixa_de_texto_1 for > A1;Pintar de vermelho a figura_1

Tentei por formatação condicional e a figura não tem essa opção.

Desde já agradeço.

 
Postado : 10/10/2017 2:21 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

PhiOlie15,

Boa noite!

Por gentileza, anexe aqui mesmo no fórum, seu arquivo compactado com .ZIP. Isso facilitará a ajuda e resposta mais rápida por parte de todos.

Seu arquivo pode até ser com dados fictícios, porém, deve ter o layout exatamente igual ao original pois em programação os detalhes são importantes.

 
Postado : 10/10/2017 4:03 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Bom dia,

Segue anexa:

O Vínculo deve ser das caixas de texto e as figuras ovais acima das mesmas.

O vinculo da primeira caixa de texto (Contratação de fábrica funcionais) é a Celula G8 ta aba "Grafico Tabela".

E as condições são:

Se o valor da caixa_de_texto_1 for <= A1;Pintar de verde a figura_1
Se o valor da caixa_de_texto_1 for >= A1;Pintar de amarelo a figura_1
Se o valor da caixa_de_texto_1 for > A1;Pintar de vermelho a figura_1

Desde já agradeço.

 
Postado : 11/10/2017 6:49 am
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Up !

 
Postado : 11/10/2017 9:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vi o modelo e até imagino o que pretende, só que não consegui ver os vinculos que diz.
Por exemplo :
O vinculo da primeira caixa de texto (Contratação de fábrica funcionais) é a Celula G8 ta aba "Grafico Tabela".
Esta celula contém DATA.

Se o valor da caixa_de_texto_1 for <= A1;Pintar de verde a figura_1
Se o valor da caixa_de_texto_1 for >= A1;Pintar de amarelo a figura_1
Se o valor dacaixa_de_texto_1 for > A1;Pintar de vermelho a figura_1

Não encontrei estas Caixas de Textos e a condição referindo-se a celula "A1" não vi nenhuma.

[]s

 
Postado : 11/10/2017 12:43 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Mauro Coutinho

Boa tarde,

No caso o A1 da primeira postagem foi apenas como exemplo. Por favor considerar somente o que pedi na segunda postagem que está com a planilha anexa.

 
Postado : 11/10/2017 12:57 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Up

 
Postado : 16/10/2017 6:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu me referi a sua segunda postagem, e o ideal é colocar as referencias corretas, senão ficamos em suposições, por exemplo :

Quando se refere a "Se o valor da caixa_de_texto_1" - seria a "CaixaDeTexto 18" ?
Quando diz que "A1 - foi apenas como exemplo" - Qual seria a celula correta ?
Quando se refere a "figura_1" - seria a "Oval 19 da aba StatusReport Tecnico" ?

Você disse :
"Preciso que as figuras inseridas na planilha sejam pintadas de acordo com as datas colocadas em uma caixa de texto."
Se está se referindo a "Caixa de Texto 18", a mesma contem uma formula, então, será digitada diretamente ignorando a formula ?

E quanto a comparação "for <=", temos de comparar com qual data ?

Lembre-se que você sabe o que quer, e nós não conhecemos sua rotina diaria, então, coloque passo a passo como utiliza e detalhe corretamente.

Por suposição, eu acho que como a "Caixa de Texto 18" tem a formula pegando o valor de "G8" da aba "Grafico Tabela", a digitação será na aba "Grafico Tabela" e não diretamente na caixa de texto.
Se for isto, coloque a rotina abaixo no evento da aba "StatusReport Tecnico".

Private Sub Worksheet_Activate()

    If Sheets("Grafico Tabela").Range("G8").Value = "03/05/2017" Then
        ActiveSheet.Shapes.Range(Array("Oval 19")).Fill.ForeColor.RGB = RGB(0, 150, 100)
    End If
    
End Sub

[]s

 
Postado : 16/10/2017 8:04 am
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Eu me referi a sua segunda postagem, e o ideal é colocar as referencias corretas, senão ficamos em suposições, por exemplo :

Quando se refere a "Se o valor da caixa_de_texto_1" - seria a "CaixaDeTexto 18" ?
Quando diz que "A1 - foi apenas como exemplo" - Qual seria a celula correta ?
Quando se refere a "figura_1" - seria a "Oval 19 da aba StatusReport Tecnico" ?

Você disse :
"Preciso que as figuras inseridas na planilha sejam pintadas de acordo com as datas colocadas em uma caixa de texto."
Se está se referindo a "Caixa de Texto 18", a mesma contem uma formula, então, será digitada diretamente ignorando a formula ?

E quanto a comparação "for <=", temos de comparar com qual data ?

Lembre-se que você sabe o que quer, e nós não conhecemos sua rotina diaria, então, coloque passo a passo como utiliza e detalhe corretamente.

Por suposição, eu acho que como a "Caixa de Texto 18" tem a formula pegando o valor de "G8" da aba "Grafico Tabela", a digitação será na aba "Grafico Tabela" e não diretamente na caixa de texto.
Se for isto, coloque a rotina abaixo no evento da aba "StatusReport Tecnico".

Private Sub Worksheet_Activate()

    If Sheets("Grafico Tabela").Range("G8").Value = "03/05/2017" Then
        ActiveSheet.Shapes.Range(Array("Oval 19")).Fill.ForeColor.RGB = RGB(0, 150, 100)
    End If
    
End Sub

[]s

--

Boa tarde,

Corrigindo:

Quando se refere a "Se o valor da caixa_de_texto_1" - seria a "CaixaDeTexto 18" ? Sim
Quando diz que "A1 - foi apenas como exemplo" - Qual seria a celula correta ? Realmente é a célula G8 da aba "Grafico Tabela", sendo assim, voce tem razao, a célula digitada é a G8 da aba "Grafico Tabela".
Quando se refere a "figura_1" - seria a "Oval 19 da aba StatusReport Tecnico" ? Sim.

"Preciso que as figuras inseridas na planilha sejam pintadas de acordo com as datas colocadas em uma caixa de texto."
Se está se referindo a "Caixa de Texto 18", a mesma contem uma formula, então, será digitada diretamente ignorando a formula ? Não, na verdade o vínculo com a caixa de texto irá acontecer porque não foi possível digitar as datas nas células da aba "StatusReport Tecnico", então tive de criar caixas de texto para alinhar corretamente.

E quanto a comparação "for <=", temos de comparar com qual data ? Com a data colocada na célula G8 da aba "Grafico Tabela"

Peço desculpas por não ter explicado corretamente nas outras vezes.

Fico a disposição de esclarecer melhor caso nao tenha explicado de uma maneira clara.

Desde já agradeço.

OBS: Testei a macro e não funcionou, creio que seja por que expliquei errado.

 
Postado : 16/10/2017 12:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Aqui ficou confuso, você vai digitar uma data em "G8", e vamos comparar esta data com qual ? a do Sistema ? outra data digitada em outra celula ? para efetuarmos uma comparação precisamos de dois dados.
E quanto a comparação "for <=", temos de comparar com qual data ? Com a data colocada na célula G8 da aba "Grafico Tabela"

Quanto a rotina que indiquei, a mesma só irá funcionar se você coloca-la no Evento da aba "StatusReport Tecnico", para isto, clique com o Botão na aba e selecione "Exibir Código" e cole a rotina na janela que abrir, como estamos utilizando o Evento Activate, a rotina só irá funcionar se selecionar outra aba e depois retornar a mesma, e tambem se a data em "G8" for igual a 03/05/2017, é uma rotina básica, só utilizei uma comparação por falta de mais detalhes.
If Sheets("Grafico Tabela").Range("G8").Value = "03/05/2017" Then - Nesta instrução estamos verificando se em G8 a data é igual a 03/05/2017, se for, pinta a figura de verde.
Fui por suposição, pois imagino que irá primeiro digitar a data na aba "Grafico Tabela" e depois selecionar a outra, assim a rotina entrara em ação.

[]s

 
Postado : 16/10/2017 12:41 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Aqui ficou confuso, você vai digitar uma data em "G8", e vamos comparar esta data com qual ? a do Sistema ? outra data digitada em outra celula ? para efetuarmos uma comparação precisamos de dois dados.
E quanto a comparação "for <=", temos de comparar com qual data ? Com a data colocada na célula G8 da aba "Grafico Tabela"

Quanto a rotina que indiquei, a mesma só irá funcionar se você coloca-la no Evento da aba "StatusReport Tecnico", para isto, clique com o Botão na aba e selecione "Exibir Código" e cole a rotina na janela que abrir, como estamos utilizando o Evento Activate, a rotina só irá funcionar se selecionar outra aba e depois retornar a mesma, e tambem se a data em "G8" for igual a 03/05/2017, é uma rotina básica, só utilizei uma comparação por falta de mais detalhes.
If Sheets("Grafico Tabela").Range("G8").Value = "03/05/2017" Then - Nesta instrução estamos verificando se em G8 a data é igual a 03/05/2017, se for, pinta a figura de verde.
Fui por suposição, pois imagino que irá primeiro digitar a data na aba "Grafico Tabela" e depois selecionar a outra, assim a rotina entrara em ação.

[]s

Bom dia,

Mais uma vez peço desculpas por explicar mal.

Vou tentar explicar:

Na aba "Grafico Tabela", sempre o início do projeto deverá ser de acordo com a data contida em início planejado. Ou seja, A célula G8 da aba "Grafico Tabela" deverá ser igual ou menor que a célula J8 da mesma aba "Gráfico Tabela".

Com essas informações, vamos a parte de colorir as figuras.

1ª condição: Caso a célula G8 da aba "Grafico Tabela" tenha uma data =< que a célula J8 da aba "Grafico Tabela", pintar a figura "Oval 19" da aba "StatusReport Tecnico" de verde.
Explicação: Foi feito um planejamento para o projeto e o mesmo foi acordado ter início no dia que está ná célula "J8", caso a data início original na Célula "G8" se inicie numa data igual ou antes da acordada, a figura oval será pintada de verde.

2ª condição: Caso a célula G8 da aba "Grafico Tabela" tenha uma data > que a célula J8 da aba "Grafico Tabela", pintar a figura "Oval 19" da aba "StatusReport Tecnico" de Amarelo e se a célula "H8" da aba "Grafico Tabela" for <= a célula "K8" da aba "Grafico Tabela", pintar a figura "Oval 19" da aba "StatusReport Tecnico" de Verde.

E se a célula "H8" da aba "Grafico Tabela" for > a célula "K8" da aba "Grafico Tabela", pintar a figura "Oval 19" da aba "StatusReport Tecnico" de Vermelho.
Explicação: No mesmo planejamento, caso a data de início "G8" original seja maior do que data de início acordada "J8", pintar a figura oval de Amarelo.
No projeto também há data fim(entrega) planejada na Célula "K8". Caso a data fim original Célula "H8" seja maior que a data fim(entrega) planejada na célula "K8", a figura "Oval 19" da aba "StatusReport Tecnico" será pintada de vermelho.

Resumindo: O projeto tem datas planejadas de início e de entrega. Porém o início e a entrega podem ser em datas diferentes das planejadas, podem ser iguais, menores ou maiores.

A lógica é a seguinte: O projeto possui etapas, essas representadas inicialmente pela linha 8 e finalizando na linha 19 da aba "Grafico Tabela". As etapas tem data de início e fim. Sempre que a etapa do projeto iniciar-se numa data igual ou menor do que a planejada, ele(figura "Oval 19 da aba "StatusReport Tecnico") é pintado de verde (verde significa que o projeto iniciou em dia). Caso ele inicie-se numa data maior que a planejada, ele(figura "oval 19" da aba "StatusReport Tecnico) é pintado de amarelo(amarelo significa que ele iniciou-se em atraso). Agora a data de entrega(data fim planejada) só será utilizada na entrega do projeto, caso ela(figura "Oval 19" da aba "StatusReport Tecnico) seja entregue em dia, deve ser pintada de verde, caso seja entregue depois do planejado, deve ser pintada de vermelho.

Desde já agradeço.

 
Postado : 17/10/2017 8:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu até que meio que entendi a sistematica, mas ainda faltam alguns detalhes, por exemplo :
Você cita as celulas G8 em comparação com J8(Inicio Planejado), e H8 com K8(Fim Planejado), só que estas teem formulas =G8 e =H8, então elas sempre serão iguais, tambem não diz em qual delas será feito a digitação.
Outro fator importante, a digitação é feita todas de uma só vez da linha 8 até a 19 ?
Tambem terá de ser feita a comparação dos 19 lançamentos e alterar as cores de todas as figuras ?

Veja o quanto de informações são necessárias para que se possa ao menos chegar a entender o que querem para depois procurarmos ajudar da melhor forma possível, por isto que muitos posts aqui e demais foruns acabam ficando sem solução, como somos voluntários e usamos tempos livres, as vezes deixamos de lado por falta de detalhamento no inicio.

[]s

 
Postado : 17/10/2017 12:01 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

Eu até que meio que entendi a sistematica, mas ainda faltam alguns detalhes, por exemplo :
Você cita as celulas G8 em comparação com J8(Inicio Planejado), e H8 com K8(Fim Planejado), só que estas teem formulas =G8 e =H8, então elas sempre serão iguais, tambem não diz em qual delas será feito a digitação.
Outro fator importante, a digitação é feita todas de uma só vez da linha 8 até a 19 ?
Tambem terá de ser feita a comparação dos 19 lançamentos e alterar as cores de todas as figuras ?

Veja o quanto de informações são necessárias para que se possa ao menos chegar a entender o que querem para depois procurarmos ajudar da melhor forma possível, por isto que muitos posts aqui e demais foruns acabam ficando sem solução, como somos voluntários e usamos tempos livres, as vezes deixamos de lado por falta de detalhamento no inicio.

[]s

Me desculpe, os vínculos foram colocados por engano.
As células digitadas sempre serão a do início original, portanto as do início planejado será digitada apenas uma vez.
As demais linhas após a 8 serão preenchidas conforme as etapas forem sendo entregues.
Todas as figuras serão pintadas conforme as etapas forem sendo entregues.

Não especifiquei isso pois creio que com o código da primeira linha eu consigo alterar a célua da macro pra ir pintando as outras.

Obg. Abraços

 
Postado : 17/10/2017 1:41 pm
(@phiolie15)
Posts: 0
New Member
Topic starter
 

up

 
Postado : 24/10/2017 6:10 am