Problemas com varia...
 
Notifications
Clear all

Problemas com variavel Found

14 Posts
2 Usuários
0 Reactions
2,885 Visualizações
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Ola colegas do forum,

Estou usando um codigo de autopreenchimento que recebi de um colega e nao consigo usalo, podem dar uma olhada por favor.

frmCadastroServicosConvenio:

TxtEndereco

Private Sub txtEndereco_Change()

Dim MyName As String, myRange As Range
MyName = Me.txtEndereco.Text
Set myRange = ThisWorkbook.Sheets("BDClientes").Range("c:c")
Set Found = myRange.Find(MyName, LookIn:=xlValues, LookAt:=xlWhole)
If Not Found Is Nothing Then
Me.txtCidade = Found.Offset(, 12)
Me.txtRegiao = Found.Offset(, 11)
Me.txtPais = Found.Offset(, 6)
Me.ComboBox1 = Found.Offset(, 8)

End If

End Sub

Agradeço

FAbio Pradella

 
Postado : 22/02/2012 8:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Onde está a planilha chamada BDClientes? talvez é isso

 
Postado : 23/02/2012 6:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!
Tente adicionar a variável. Dim Found As Range

Private Sub txtEndereco_Change()

Dim MyName As String, myRange As Range
Dim Found As Range
   MyName = Me.txtEndereco.Text
   Set myRange = ThisWorkbook.Sheets("BDClientes").Range("c:c")
   Set Found = myRange.Find(MyName, LookIn:=xlValues, LookAt:=xlWhole)
   If Not Found Is Nothing Then
      Me.txtCidade = Found.Offset(, 12)
      Me.txtRegiao = Found.Offset(, 11)
      Me.txtPais = Found.Offset(, 6)
      Me.ComboBox1 = Found.Offset(, 8)

 End If

End Sub
 
Postado : 23/02/2012 6:27 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia Alexandre, nao deu, agora da erro na linha Set myRange, e o pior e que este codigo ( que foi passado por vc em outro post) e totalmente grego para mim.
Assim, preciso que quando a pessoa digitar o nome do cliente( que esta cadastrado na BDClientes) este mesmo ja traga todos os seus respectivos dados para a planilha que esta sendo preenchida, se tiverem outro codigo???

Muito obrigado a todos. Valeu

 
Postado : 23/02/2012 10:03 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

veja o topico
http://www.planilhando.com.br/forum/viewtopic.php?p=16819#p16819
creio que tb se aplica ao seu "probelma"

 
Postado : 23/02/2012 11:23 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!!

Siga as orientações do Reinal, ele sabe o que fala e o que faz (está 100 anos luz na minha frente em VBA).

Mas tenho apenas uma orientação.

Preste atenção nas rotinas que cada vez mais vai somando em seu projeto, posso está errado mas tem rotina que está privando a digitação em algumas txtbox desse formulário, isso pode ajudar a gerar erros.

Os códigos usados por você em seu projetos, tem ser bem planejado caso contrário passa um bom tempo corrigindo defeitos (20minutos de programação, caso seja feita de qualquer forma,pode resultar em 2 horas de acerto). pense nisso

 
Postado : 23/02/2012 11:35 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Alexandre, vc tem razao, como todos os codigos e ate formularios eu peguei( ou foram cedidos por vcs)aqui na net, tenho tido muito trabalho para adaptalos e corrigidos, mas acaba que estou aprendendo um mundo com vcs.
Quando vc fala privando a digitaçao em alguns txtbox, seriam aquelas de ativaçao e desativaçao dos controles e botoes???

Meu muito obrigado a todos, logo passarei do engatinhando para os primeiros passos sozinho, hehehe.

Fabio Pradella

 
Postado : 23/02/2012 12:45 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!!

Creio que é isso mesmo.

Mas vá pela orientação do Reinal, eu sou apenas um tolo em VBA

 
Postado : 23/02/2012 12:53 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Reinaldo e Alexandre, deixo aqui o resultado correto para futuros iniciantes como eu, hehehe.

Obs. So mais uma pergunta, neste codigo e possivel adicionar aquela barrinha embaixo q se abre como por exemplo quando digitamos nosso email ou nosso login ja memorizado pelo mesmo???

Um grande abraço aos dois colegas.

Private Sub txtEndereco_Change()

Dim MyName As String, myRange As Range
Dim Found As Range
MyName = Me.txtEndereco.Text
Set myRange = wbClientes.Worksheets("BDClientes").Range("c:c")
Set Found = myRange.Find(MyName, LookIn:=xlValues, LookAt:=xlWhole)
If Not Found Is Nothing Then
Me.txtCidade = Found.Offset(, 12)
Me.txtRegiao = Found.Offset(, 11)
Me.txtPais = Found.Offset(, 6)
Me.ComboBox1 = Found.Offset(, 8)

End If

End Sub

 
Postado : 23/02/2012 1:34 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa NOite colegas,

Adaptando o codigo acima ao meu projeto, pensando que o numero colocano do final da linha,

Me.txtCidade = Found.Offset(, 12)fazia referencia a coluna dentro de BDClientes, mas nao e isso, o que significa entao???

 
Postado : 23/02/2012 5:53 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!!

No caso do exemplo eu seleciono a célula o lado de A1, ou seja desconsidero linha digito só a coluna.
Quer saber mais sobre propriedade Offset Veja.. http://www.computergaga.com/blog/2011/1 ... ty-in-vba/

Sub teste()

    Range("a1").Offset(, 1).Select

End Sub
 
Postado : 23/02/2012 6:21 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não faz menção direta à uma linha ou coluna especifica mas: Offset(Linha,coluna); à partir do "endereço" ativo, desloque "tantas linhas" e/ou "tantas colunas".
em Me.txtCidade = Found.Offset(, 12)--> do endereço localizado (Found), desloque 12 colunas à direita

 
Postado : 24/02/2012 6:30 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa Noite Reinaldo, com esta sua ultima resposta encerro o post, um grande abraço e muito obrigado.

Obrigado a todos.

Fabio Pradella

 
Postado : 24/02/2012 7:15 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite, lendo esse post e com base na sua analise que citou na page 1 tentei criar algo para ajudar.

1. cadastre alguns nomes, Tele, Email a partir da linha 2 nas colunas A,B,C da Plan1
2. cri um form com 3 textbox e uma label com o (Name) Label5
3. cola o codigo dentro do form.

Private Sub TextBox1_Change()
Dim x As String

x = StrConv(TextBox1.Value, vbProperCase)
conts = ""

For k = 2 To Sheets("Plan1").Cells(65536, 1).End(xlUp).Row
If x <> "" Then
If x = Cells(k, 1).Value Then
TextBox2.Value = Cells(k, 2).Value
TextBox3.Value = Cells(k, 3).Value
conts = k
Else
End If
Else
ClassLimpar
End If
Next k
Label5.Caption = conts
End Sub

Sub ClassLimpar()
TextBox2.Value = Empty
TextBox3.Value = Empty
End Sub

 
Postado : 09/06/2012 7:27 pm