Enviar informações ...
 
Notifications
Clear all

Enviar informações diferentes de textbox para 2 planilhas

6 Posts
2 Usuários
0 Reactions
1,618 Visualizações
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Pessoal,

tenho uma form, onde uso para pesquisar e para inserir informações a partir das minhas textbox, eu apenas insiro o código no txtcodigo e digito a quantidade, marco a opçaõ loja ou cliente e informo o motivo da devolução...

clicando em inserir, essa informação vai para minha planilha estoque...

oq eu preciso é o seguinte...

informações de ICMS a 12% ficariam na minha planilha estoque, e informações com icms a 4 seriam iseridas em outra planilha que poderia citar como estoque 2... só que isso eu preciso que o comando VBA identifique ao inserir a informação.

Ou seja.. inseri um código, e lá na minha txticms ele está a 12, ao completar as informações (quantidade, motivo, cliente ou loja), ao clicar em inserir ele me jogará a informação para planilha "estoque", da mesma maneira para o icms a 4, ao inserir o código, completar a informação, ele jogará o informação para a planiha estoque2.

será q é possível?

França, conforme as Regras do Forum os arquivos devem estar compactados, por isso o mesmo foi excluido, favor compactar e postar novamente.

 
Postado : 11/02/2014 10:34 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pelo que entendi, você lança ao Clicar em um Botão INSERIR, essa informação vai para minha planilha estoque...

Então já temos as instruções que enviam para a aba estoque, se for somente dois ICMs, é só criarmos a Condição IF, tipo :

If txticms.Value = "12" Then
Aqui entra as instruções que está usando para enviar os dados para a aba estoque

else 'txticms.Value <> "12"
Aqui entra as instruções para enviar os dados para a aba estoque2

End If

Poderíamos tambem usar o ElseIf, ou um Select Case, mas isto eu só acho necessário se tivermos varios ICMS.

[]s

 
Postado : 11/02/2014 5:52 pm
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Mauro,

pode verificar o código? acho que deu problema no meu else, ele me da a mensagem que meu else está sem if, mas eu fechei ele embaixo com end if e mesmo assim não consegui

If txtICMS.Value = "12" Then

Dim UltimaLinha As Object

Set UltimaLinha = Plan1.Range("A2000").End(xlUp)

UltimaLinha.Offset(1, 0).Value = txtcodigo.Text 'codigo'
UltimaLinha.Offset(1, 1).Value = txtnfe.Text 'nota fiscal'
UltimaLinha.Offset(1, 2).Value = txtdesc.Text 'descrição'
UltimaLinha.Offset(1, 3).Value = txtref.Text
UltimaLinha.Offset(1, 4).Value = txtsap.Text
UltimaLinha.Offset(1, 5).Value = txtqtd.Text
UltimaLinha.Offset(1, 6).Value = txtvalor.Text
UltimaLinha.Offset(1, 7).Value = txtICMS.Text
UltimaLinha.Offset(1, 8).Value = txtIPI.Text
UltimaLinha.Offset(1, 9).Value = txtdata.Text
UltimaLinha.Offset(1, 10).Value = txtdoc.Text
UltimaLinha.Offset(1, 11).Value = txtlinha.Text
UltimaLinha.Offset(1, 12).Value = txtmotivo.Text

If Me.CheckBox1.Value = True Then UltimaLinha.Offset(1, 13).Value = "Cliente"
If Me.CheckBox2.Value = True Then UltimaLinha.Offset(1, 13).Value = "Loja"
MsgBox "Item inserido com sucesso..."

txtnfe.Text = ""
txtdesc.Text = ""
txtref.Text = ""
txtsap.Text = ""
txtqtd.Text = ""
txt_quantidade = ""
txtvalor.Text = ""
txtICMS.Text = ""
txtIPI.Text = ""
txtdata.Text = ""
txtdoc.Text = ""
txtlinha = ""
txtmotivo = ""
txtqtd = ""
CheckBox1 = False
CheckBox2 = False
txtcodigo.SetFocus

With txtcodigo
.SetFocus
.SelStart = 0
.SelLength = Len(txtcodigo.Text)

else 'txticms.Value <> "12"

Dim UltimaLinha As Object

Set UltimaLinha = Plan2.Range("A2000").End(xlUp)

UltimaLinha.Offset(1, 0).Value = txtcodigo.Text 'codigo'
UltimaLinha.Offset(1, 1).Value = txtnfe.Text 'nota fiscal'
UltimaLinha.Offset(1, 2).Value = txtdesc.Text 'descrição'
UltimaLinha.Offset(1, 3).Value = txtref.Text
UltimaLinha.Offset(1, 4).Value = txtsap.Text
UltimaLinha.Offset(1, 5).Value = txtqtd.Text
UltimaLinha.Offset(1, 6).Value = txtvalor.Text
UltimaLinha.Offset(1, 7).Value = txtICMS.Text
UltimaLinha.Offset(1, 8).Value = txtIPI.Text
UltimaLinha.Offset(1, 9).Value = txtdata.Text
UltimaLinha.Offset(1, 10).Value = txtdoc.Text
UltimaLinha.Offset(1, 11).Value = txtlinha.Text
UltimaLinha.Offset(1, 12).Value = txtmotivo.Text

If Me.CheckBox1.Value = True Then UltimaLinha.Offset(1, 13).Value = "Cliente"
If Me.CheckBox2.Value = True Then UltimaLinha.Offset(1, 13).Value = "Loja"
MsgBox "Item inserido com sucesso..."

txtnfe.Text = ""
txtdesc.Text = ""
txtref.Text = ""
txtsap.Text = ""
txtqtd.Text = ""
txt_quantidade = ""
txtvalor.Text = ""
txtICMS.Text = ""
txtIPI.Text = ""
txtdata.Text = ""
txtdoc.Text = ""
txtlinha = ""
txtmotivo = ""
txtqtd = ""
CheckBox1 = False
CheckBox2 = False
txtcodigo.SetFocus

With txtcodigo
.SetFocus
.SelStart = 0
.SelLength = Len(txtcodigo.Text)

End With

end if

End Sub

 
Postado : 12/02/2014 10:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Franca, como não tenho como testar, mas olhando a rotina está faltando fechar um End With, adicione conforme abaixo e faça o teste :

With txtcodigo
.SetFocus
.SelStart = 0
.SelLength = Len(txtcodigo.Text)

End With

else 'txticms.Value <> "12"

Outra obs é referente as Declarações repetidas, tambem dará erro, como são abas diferentes, altere conforme abaixo :
Para Abas diferentes, o ideal é definir as Variaveis com nomes de facil identificação :

Para a Aba Plan1 use:
Dim UltimaLinhaPlan1 As Object
Set UltimaLinhaPlan1 = Plan1.Range("A2000").End(xlUp)

Para a Aba Plan2 use:
Dim UltimaLinhaPlan2 As Object
Set UltimaLinhaPlan2 = Plan2.Range("A2000").End(xlUp)

Depois ajuste as linhas na rotina onde estão todas como "UltimaLinha"

[]s

 
Postado : 12/02/2014 10:44 am
(@wfranca)
Posts: 297
Honorable Member
Topic starter
 

Perfeito!

Consegui adptar os códigos... Obrigado Mauro!!

 
Postado : 12/02/2014 12:55 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

 
Postado : 12/02/2014 3:32 pm