COMPARAR NUMEROS NEGATIVOS COM POSITIVOS
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
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
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
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
Não entendi, o que exatamente você quer fazer?
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?
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?
A relação desses registros é somente o valor, nada mais?
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.
é isso.
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?
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.
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.
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.
é, 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