Notifications
Clear all

Descontos

11 Posts
5 Usuários
0 Reactions
2,663 Visualizações
(@fazerbem)
Posts: 697
Honorable 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: 2749
Famed Member
 

Como sempre disponibilize um arquivo modelo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 15/10/2016 3:17 pm
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

Como sempre disponibilize um arquivo modelo.

Realmente essa regra já deveria ter sido absorvida.

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

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

Segue a Planilha

 
Postado : 21/10/2016 7:33 pm
Jozelia
(@jozelia)
Posts: 45
Eminent 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: 697
Honorable 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: 2749
Famed 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.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 22/10/2016 10:35 am
(@fazerbem)
Posts: 697
Honorable 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: 697
Honorable 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: 697
Honorable 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
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/10/2016 7:12 am