Ajuda numa planilha relacionada Hidráulica


#1

O meu problema parece simples, mas não tenho muita prática no Excel então aqui vai…
Eu preciso calcular um valor (Q) que depende de outro valor (f) que deve ser calculado anteriormente dependendo do valor encontrado em f será determinado a equação de cálculo para o Q. Basicamente o que eu pude fazer até agora foi achar os valores de f e analisá-los por meio da formatação condicional e assim por mim mesmo decidir qual método utilizar, eu queria saber se tem como eu fazer com que o excel faça a escolha do método sem minha interferência.
Resumindo:

Q = ? ; Q(f) Q é uma função de f ; f é um valor calculado que em determinados intervalos caracterizam um método de utilização;
Ex.:
Q = ?; f = 2,37 Na formatação condicional na condição do método A Se f < 1 verde, se 1> f vermelho
Na formatação condicional na condição do método B Se f < 1 vermelho, se 1< f <3 verde, 3 < f vermelho
Na formatação condicional na condição do método C Se f < 1 vermelho, se 1< f <3 vermelho, 3 < f verde_
Como 2,37 é maior que 1 e menor que 3 a célula fica vermelha pra o método A e C e verde para o B. Daí o operador deve usar o método B.
A missão é que a escolha não seja do operador e sim do Excel


#2

Olá Gabiroto.
Bom, fiz uma função a parte que vai resolver o problema:

Function QCor(cell As Range) As Long

    QCor = cell.Interior.ColorIndex
  
End Function

depois, na sua planilha, jogue a função assim, assumindo as suas colunas de formatação condicional:

=SE(QCor(H11)=43;“Método A”;SE(QCor(I11)=43;“Método B”;SE(QCor(J11)=43;“Método C”;“Nenhum método”)))

Ah, o verde que coloquei é o 43, mas vc pode colocar =qcor(sua celula verde) para saber o numero do verde que vc colocou e trocar na função.

abs


#3

Era isso que eu precisava mesmo muito obrigado! Mas como eu introduzo a função no Excel?


#4

Na verdade consegui pôr a função pelo VBA, porém quando identifico o verde que estou usando (-4142), o código é o mesmo para as células em vermelho (-4142) daí quando vou aplicar os SE’s ele sempre dá positivo para o primeiro método. Como resolver?
Agradeço desde já!
EDIT: Percebi que a função não está diferenciando cores de acordo com as planilhas.
EDIT 2: Notei que quando a celula é “pintada” pela formatação condicional a função não identifica tal cor, e sim acusa o valor da célula sem preenchimento e por isso o verde e o vermelho dão o mesmo valor. Aqui fiz o teste em preencher a célula pela ferramenta de preenchimento e a função funciona corretamente


#5

hum… vou fazer uns testes aqui… não sabia que ele fazia isto… vou tentar resolver


#6

Sem problema, fico no aguardo


#7

Bom dia.
Parece que pela cor não vai funcionar… li em vários sites e ninguém resolveu o problema com a cor, mas dá para resolver de outra forma, pegando o valor da sua função e em cima do valor informar o resultado. Onde você jogou o resultado da sua função?
Seria algo assim, supondo que o resultado da sua função esteja na celula A1:
=SE(A1 < 1;“Método A”;SE(A1 > 1;SE(A1 <3; “Método B”; SE(A1 > 3;“Método C”;“Problema…”));“Problema…”))
Provavelmente a sua função não dá resultado 1 e 3, dá ?

Veja se te ajuda e me avise.

abs


#8

Olá Luiz! Interferindo aqui no problema. Realmente, faz tempo que procuro mas realmente parece que não tem como detectar a cor da formatação condicional por ser uma propriedade interna da célula, ou algo assim.

Mas vi uma ideia interessante em um fórum que era em vez de procurar pela cor, usar na rotina alguma lógica que iria retornar a mesma cor na formatação condicional

Por exemplo, se temos A1=B1 na formatação condicional gerando a cor verde, poderíamos procurar nos campos desejados quais células são verdadeiras quando comparadas. Tipo, em vez de procurar a cor procurar pelo resultado da fórmula que gerou a cor na formatação condicional.

Será que te dá alguma ideia para ajudar o amigo?


#9

Oi Yure, como vai amigo… espero que esteja bem.
Eu até achei uma rotina para fazer com a cor, mas preciso dar uma olhada, não dá para falar de bate pronto, pois ela é muito grande e preciso testar, e se realmente funcionar te passo.
Então, eu acabei fazendo isto para ele na resposta acima da sua. Vamos ver se ele responde.
Desta forma vai resolver, com exceção do valor 1 e 3 que não está na delimitação dele, mas acredito que nem dê estes valores, pois não é um numero inteiro.
abs e obrigado