COMPARAR NUMEROS NEGATIVOS COM POSITIVOS

VBALLAN 21/08/2013 15:45:26
#427897
Tenho um MEGA problema para solucionar e pensei em pedir ajuda aqui também.

Bom, preciso comparar uma lista que contém valores, uns negativos e outros positivos. Todos eles se equivalem, ou seja, se você somar tudo eles se zeram. Mas preciso fazer comparações com esses valores para agrupar as outras informações da planilha juntas. EX:

CPF NOME VALOR
1 João +R$ 1.500,00
3 Maria - R$ 1.000,00
6 José - R$ 500,00


Se notarem, está agrupado 1 valor positivo com 2 valores negativos. Isso pode acontecer com maiores quantidades. Exemplo: 1 negativo com 5 positivos para zerar. E mais, esses valores podem estar espalhados numa planilha com mais de 500 linhas.

Muitas vezes eles tem valores iguais -1000 com +1000. Aí OK, achar é fácil, mas muitas vezes é preciso caçar valores que unidos vão chegar a um valor zero se somados, tanto negativos com positivos.

Espero ter sido claro.

Por favor me ajudem.

Abraços
NILTON.VIANNA 21/08/2013 16:27:20
#427899
o FG2 é MsflexGrid eu uso assim e funciona.
vc pode adaptar do seu jeito.

[ô]Varrendo todas as linhas ver negativos (-)
For i = 1 To FG2.Rows - 1
If Val(FG2.TextMatrix(i, 5)) <= ([Ô]0.00[Ô]) Then [ô]Verificando na linha, o conteúdo da coluna 5 (Onde está o tipo)
For Coluna = 0 To FG2.Cols - 1 [ô]Varre todas as colunas da linha e seta a cor de fundo
FG2.Col = Coluna
FG2.Row = i
FG2.CellBackColor = &H80000013
FG2.CellForeColor = &H80& [ô]Letras em Vermelho
Next Coluna
ElseIf Val(FG2.TextMatrix(i, 5)) > ([Ô]0.00[Ô]) Then [ô]Verificando na linha, o conteúdo da coluna 5(Onde está o tipo)
FG2.CellForeColor = &H0& [ô]Letras em Pretas
End If
Next i
KERPLUNK 21/08/2013 17:08:09
#427901
Resposta escolhida
Não entendi, o que exatamente você quer fazer?
VBALLAN 21/08/2013 17:24:30
#427902
KERPLUNK,

basicamente preciso, fazer reconciliação de dividas.

Tenho uma planilha com varias colunas, em um dessa colunas tenho um valor (dívida). Então preciso identificar um cliente e selecionar a célula de sua dívida. E correr as linhas procurando em todos os outros. Se esse valor que selecionei tiver um igual sendo negativo ou positivo, tanto que se zerem...PERFEITO!! agora, se ele não achar esse valor que zere, o código precisa identificar vários outros para juntos zerar esse valor selecionado.

Digamos que selecionei o valor 10 (positivo) e na planilha achei 2 linhas com os valores -5 e -5 . Perfeito, ZEROU!. Pinto as 3 células com uma cor específica, e partimos para o próximo número a comparar, sem mais usar esses que passamos antes.

Entendeu? Fui claro?
KERPLUNK 21/08/2013 18:56:09
#427906
A relação desses registros é somente o valor, nada mais?
VBALLAN 22/08/2013 10:11:43
#427933
Então. Quando os valores baterem (Se zerarem) precisam ser agrupados. Podendo ser pintados com uma cor para serem identificados fácilmente. Caso sobre alguma diferença não pode passar de R$2,00 por exemplo tanto negativo como positivo. Digamos que seria a margem aceitável para reconciliar os valores.

é isso.
CASSIOJFF 22/08/2013 11:21:51
#427939
Mas vc nao respondeu a pergunta do KERPLUNK, a relacao é somente de valor? ou vc tem que achar o cliente 1 e pegar o valor positivo dele, e depois achar os outros cliente 1 que tenham o valor negativo?
VBALLAN 22/08/2013 11:25:33
#427941
Cássio,

Exatamente. Pego o primeiro cliente da lista. Seleciono seu valor e vou comparando, caso não ache valor exatamente igual para zerar, posso ir achando outros menores que se somados zerem esse.
KERPLUNK 22/08/2013 11:40:26
#427946
O que você quer fazer, até é possível, mas vai gerar um algoritmo bem grande e que nem sempre vai funcionar como você espera. O negócio é a sua lógica, ela não pode ser dessa maneira para se ter uma consistência.
VBALLAN 22/08/2013 13:50:12
#427950
é, já montei um algoritmo bem grande. Terei que implanta-lo. Achei que aqui pudesse dar uma luz, ou alguma linha que pudesse ser acrescentado a ele.
Tópico encerrado , respostas não são mais permitidas