Notifications
Clear all

Descontos

11 Posts
5 Usuários
0 Reactions
2,653 Visualizações
(@fazerbem)
Posts: 0
New Member
Topic starter
 

ola.

Tenho 15 linhas na planilha contendo produtos para venda, quero ao precionar uma macro que tera em todas as 15 linhas uma imagem editar, ao precionar a mesma puxará o formulario Desconto, onde poderei dar descontos individuais a cada item.

tenho no formulario uma caixa de texto ( Txt_QNT ), esta pega a QNT de itens dentro de uma celula C5 numa planilha, e ao lado tenho uma caixa de texto que aparece o nome deste produto.
Tenho ao lado dentro do formulario um botao de rolagem pra cima e pra baixo, como faco para que ao precionar pra cima esta quantidade aumente ? Sei fazer isso dentro da planilha, mas nal sei fazer dentro do formulario.

Tenho tb um botao de ativacao no formulario, e ao lado outra caixa de texto ( Txt_Desconto ) que vao me dar o valor oferecido em R$ ou % do valor do produto que aparece em outra caixa de texto mais acima ( Txt_Unitario ) que pega este valor tb da planilha. Quero por exemplo que ao precionar R$ apareca na caixa de texto o desconto e mais abaixo em outra caixa de texto ( Txt_Resultado) o resultado deste desconto.

O valor que esta em Txt_Desconto, e Txt_QNT serao variaveis, conforme a linha atuante da planilha, se eu apertar a macro da linha 2 entao pegara ali, se linha 3 entao ...

Ao processar o botao dentro do formulario entao na planilha muda o valor pegando como referencia o TXT_Resultado.

Isso e possivel ?

Grato

Andre

 
Postado : 15/10/2016 9:38 am
(@mprudencio)
Posts: 0
New Member
 

Como sempre disponibilize um arquivo modelo.

 
Postado : 15/10/2016 3:17 pm
(@djunqueira)
Posts: 0
New Member
 

Como sempre disponibilize um arquivo modelo.

Realmente essa regra já deveria ter sido absorvida.

 
Postado : 15/10/2016 4:46 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Segue a Planilha

 
Postado : 21/10/2016 7:33 pm
(@jozelia)
Posts: 0
New Member
 

Bom Dia,
Tomei a liberdade de alterar o seu código quanto ao desconto de uma olhada para ver se te atende .
Referente a mudar o produto de acordo com o lápis escolhido eu não sei te dizer, mas sugiro que carregue os produtos em uma listbox para selecionar, ou faça um campo de pequisa.

 
Postado : 22/10/2016 8:00 am
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Jozelia

Ola obrigado, atendeu sim , ficou bom mesmo.

Agora preciso saber como acionando a macro da proxima linha poderei utilizar o mesmo formulario, se nao terei que fazer um formulario e macro para cada linha .

abracos e grato

andre

 
Postado : 22/10/2016 8:33 am
(@mprudencio)
Posts: 0
New Member
 

Uma solução seria alterar a textbox que carrega o nome do produto para uma combobox que vc possa selecionar o produto que deseja alterar o valor com isso vc vai conseguir dar desconto em qualquer produto.

 
Postado : 22/10/2016 10:35 am
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Ao rodar o 1 formulario da erro - Erro de compilacao: Variavel na definida em Lin , depois Plan1
Ao rodar o segundo funciona,
Ao rodar o terceiro Tb funciona

Private Sub Userform_Initialize()
Lin = 72
Do Until Plan1.Cells(Lin, 6) = ""
ComboBox1.AddItem Plan1.Cells(Lin, 6)
Lin = Lin + 1
Loop
Me.Desconto.Enabled = False
Me.Novo_Valor.Enabled = False
Produto = Range("E5") 
txt_Valor = Range("I5")

End Sub

-------------------------------------------------------
Private Sub Userform_Initialize()
Lin = 72
Do Until Plan1.Cells(Lin, 6) = ""
ComboBox1.AddItem Plan1.Cells(Lin, 6)
Lin = Lin + 1
Loop
End Sub

------------------------------------------------------
Option Explicit
Dim n1 As Single
Dim n2 As Single

Private Sub Userform_Initialize()
Me.Desconto.Enabled = False
Me.Novo_Valor.Enabled = False
Produto = Range("E5") ' .Value
txt_Valor = Range("I5") ' .Value
End Sub

Existem abaixo outras Privates .....

 
Postado : 22/10/2016 3:01 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Tive que acrescentar

Dim Lin As Single, nao sei o motivo , pois no segundo procedimento acima funciona, mas o importante e que funcionou.

 
Postado : 22/10/2016 3:04 pm
(@fazerbem)
Posts: 0
New Member
Topic starter
 

Fiz de outra maneira, e acresentei um PROCV

Private Sub TextBox1_Change()
On Error Resume Next 'tratamento de erro
Produto = Application.WorksheetFunction.VLookup(CDbl(TextBox1), Plan19.Range("B6:E589"), 4, 0) '=PROCV(H2;A1:B3;2;0)
txt_Valor = Application.WorksheetFunction.VLookup(CDbl(TextBox1), Plan19.Range("B6:W589"), 22, 0)

End Sub

Grato a todos por mais esta

Ate a proxima.

Andre

 
Postado : 22/10/2016 4:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Andre

Favor utilizar a ferramenta Code, quando postar códigos VBA.
Eu tenho editado teus tópicos e descrito no motivo da descrição, que é obrigatório a utilização da ferramenta Code.

[]s

 
Postado : 23/10/2016 7:12 am