COMPARATIVO DE PRECOS
Srs, Bom Dia a todos
Tenho em um formulário de pesquisa de preços, em 3 TexBox cada um me mostra 3 preços diferentes [ maior, menor, media ], até ai tudo bem, so que quando eu só tenho 2 preços, sou obrigado a colocar no terceiro preço 0,00, se não ele me da pau, ai é que esta errado, poi ele me mostra como ex:
preço menor R$ 0,00
preço maior R$ 2,00
preço medio R$ 1,00, o que na realidade deveria me mostrar:
preço menor R$ 1,00
preço maior R$ 2,00 e não deveria me mostrar preço 0,00, abaixo segue a formula:
[ô]MOSTRA O MENOR O MAIOR PREÇO E O PREÇO MEDIO
Dim n(3) As Double
Dim i As Integer
Dim C As Integer
Dim X As Double
n(1) = Preco1.Text
n(2) = Preco2.Text
n(3) = Preco3.Text
For i = 1 To 3
For C = 1 To 3
If n(i) < n(C) Then
X = n(i)
n(i) = n(C)
n(C) = X
End If
Next C
Next i
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = n(1)
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtPrecoMedio.Text = n(2)
TxtPrecoMedio.Text = Format(TxtPrecoMedio, [Ô]#,##0.00[Ô])
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = n(3)
TxtPrecoMaior.Text = Format(TxtPrecoMaior, [Ô]#,##0.00[Ô])
Tenho em um formulário de pesquisa de preços, em 3 TexBox cada um me mostra 3 preços diferentes [ maior, menor, media ], até ai tudo bem, so que quando eu só tenho 2 preços, sou obrigado a colocar no terceiro preço 0,00, se não ele me da pau, ai é que esta errado, poi ele me mostra como ex:
preço menor R$ 0,00
preço maior R$ 2,00
preço medio R$ 1,00, o que na realidade deveria me mostrar:
preço menor R$ 1,00
preço maior R$ 2,00 e não deveria me mostrar preço 0,00, abaixo segue a formula:
[ô]MOSTRA O MENOR O MAIOR PREÇO E O PREÇO MEDIO
Dim n(3) As Double
Dim i As Integer
Dim C As Integer
Dim X As Double
n(1) = Preco1.Text
n(2) = Preco2.Text
n(3) = Preco3.Text
For i = 1 To 3
For C = 1 To 3
If n(i) < n(C) Then
X = n(i)
n(i) = n(C)
n(C) = X
End If
Next C
Next i
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = n(1)
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtPrecoMedio.Text = n(2)
TxtPrecoMedio.Text = Format(TxtPrecoMedio, [Ô]#,##0.00[Ô])
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = n(3)
TxtPrecoMaior.Text = Format(TxtPrecoMaior, [Ô]#,##0.00[Ô])
Ajusta seu código conforme o trecho abaixo:
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = IIf(n(1) > 0, n(1), n(2))
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtprecoMedio.Text = IIf(n(1) > 0, n(2), 0)
TxtprecoMedio.Text = Format(TxtprecoMedio, [Ô]#,##0.00[Ô])
TENTA ISSO...
[ô]MOSTRA O MENOR O MAIOR PREÇO E O PREÇO MEDIO
Private Sub Command1_Click()
Dim n() As Double
Dim i As Integer
Dim y As Integer
Dim z As Integer
Dim x As Double
i = 0
If CDbl(PRECO1.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO1.Text)
End If
If CDbl(PRECO2.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO2.Text)
End If
If CDbl(PRECO3.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO3.Text)
End If
For y = 1 To i
For z = 1 To i
If n(y) < n(z) Then
x = n(y)
n(y) = n(z)
n(z) = x
End If
Next z
Next y
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = Format(n(1), [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
If i / 2 <> Int(i / 2) Then
TxtPrecoMedio.Text = Format(n((i / 2) + 1), [Ô]#,##0.00[Ô])
End If
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = Format(n(i), [Ô]#,##0.00[Ô])
End Sub
[ô]MOSTRA O MENOR O MAIOR PREÇO E O PREÇO MEDIO
Private Sub Command1_Click()
Dim n() As Double
Dim i As Integer
Dim y As Integer
Dim z As Integer
Dim x As Double
i = 0
If CDbl(PRECO1.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO1.Text)
End If
If CDbl(PRECO2.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO2.Text)
End If
If CDbl(PRECO3.Text) > 0 Then
i = i + 1
ReDim Preserve n(i)
n(i) = CDbl(PRECO3.Text)
End If
For y = 1 To i
For z = 1 To i
If n(y) < n(z) Then
x = n(y)
n(y) = n(z)
n(z) = x
End If
Next z
Next y
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = Format(n(1), [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
If i / 2 <> Int(i / 2) Then
TxtPrecoMedio.Text = Format(n((i / 2) + 1), [Ô]#,##0.00[Ô])
End If
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = Format(n(i), [Ô]#,##0.00[Ô])
End Sub
diga uma coisa...
o preço médio não seria a soma dos preços e divididos pela quantidade de preços informados ?
exemplo (1 + 2) / 2 = 1,5 ou ( 1 + 2 + 3 ) / 3 = 2
o preço médio não seria a soma dos preços e divididos pela quantidade de preços informados ?
exemplo (1 + 2) / 2 = 1,5 ou ( 1 + 2 + 3 ) / 3 = 2
Ola, ROBIU
Tudo bem funcionou, só que ai eu fiz assim para mostrar o maior valor:
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = IIf(n(1) > 0, n(1), n(2))
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = IIf(n(1) > 0, n(3), n(3))
TxtPrecoMaior.Text = Format(TxtPrecoMaior, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtPrecoMedio.Text = IIf(n(1) > 0, n(2), 0)
TxtPrecoMedio.Text = Format(TxtPrecoMedio, [Ô]#,##0.00[Ô])
e quando eu tenho dois preços com 0,00 e um com 1,00, ele me mostra:
preço menor 0,00
preço maior 1,00
preço medio 0,00 o que deveria ser
preço menor 1,00
preço maior 0,00
preço medio 0,00
com eu faço isso
Tudo bem funcionou, só que ai eu fiz assim para mostrar o maior valor:
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = IIf(n(1) > 0, n(1), n(2))
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = IIf(n(1) > 0, n(3), n(3))
TxtPrecoMaior.Text = Format(TxtPrecoMaior, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtPrecoMedio.Text = IIf(n(1) > 0, n(2), 0)
TxtPrecoMedio.Text = Format(TxtPrecoMedio, [Ô]#,##0.00[Ô])
e quando eu tenho dois preços com 0,00 e um com 1,00, ele me mostra:
preço menor 0,00
preço maior 1,00
preço medio 0,00 o que deveria ser
preço menor 1,00
preço maior 0,00
preço medio 0,00
com eu faço isso
Sim seria, mas esses preços estão relacionados com tres fornecedores, então se eu fizer isso vou ter:
Fornecedor 1 R$ 10,00
Fornecedor 2 R$ 20,00
Fornecedor 3 R$ 12,00
então ficaria assim: preço medio 10,00 + 20,00 /2 = R$ 15,00, ou 10,00 + 20,00 + 12,00/3 = 14,00
que na realidade tem que ser R$ 12,00 que esta relacionado com o Fornecedor 3
Fornecedor 1 R$ 10,00
Fornecedor 2 R$ 20,00
Fornecedor 3 R$ 12,00
então ficaria assim: preço medio 10,00 + 20,00 /2 = R$ 15,00, ou 10,00 + 20,00 + 12,00/3 = 14,00
que na realidade tem que ser R$ 12,00 que esta relacionado com o Fornecedor 3
Teste assim:
[ô]MOSTRA O MENOR VALOR
TxtPrecoMenor.Text = IIf(n(1) > 0, n(1), IIf(n(2) > 0, n(2), n(3)))
TxtPrecoMenor.Text = Format(TxtPrecoMenor, [Ô]#,##0.00[Ô])
[ô]MOSTRA O VALOR MEDIO
TxtprecoMedio.Text = IIf(n(2) > CDec(TxtPrecoMenor.Text), n(2), 0)
TxtprecoMedio.Text = Format(TxtprecoMedio, [Ô]#,##0.00[Ô])
[ô]MOSTRA O MAIOR VALOR
TxtPrecoMaior.Text = IIf(n(3) > CDec(TxtPrecoMenor.Text), n(3), 0)
TxtPrecoMaior.Text = Format(TxtPrecoMaior, [Ô]#,##0.00[Ô])
ROBIU e FEDERHEN,
Os dois tópicos funcionaram perfeitamente, fico devendo essa para voçes, muito obrigado, mas infelizmente tenho que escolher um só para o credito, por isso vou escolher por sorteio, se é que confiam em mim
Os dois tópicos funcionaram perfeitamente, fico devendo essa para voçes, muito obrigado, mas infelizmente tenho que escolher um só para o credito, por isso vou escolher por sorteio, se é que confiam em mim
Tópico encerrado , respostas não são mais permitidas