Notifications
Clear all

pesquisa código formulário

13 Posts
2 Usuários
0 Reactions
1,687 Visualizações
(@hacp123)
Posts: 0
New Member
Topic starter
 

Bom dia pessoal,

Estou encalhado numa situação e isto não anda nem para a frente nem para trás!

Tenho um formulário de registo clientes em que cada cliente tem um código único que é gerado automaticamente.
Paralelamente tenho um menu de pesquisa, em que basta colocar o código para assumir os dados do cliente.
O problema é que quando coloco o código 1, o vba assume-se o cliente com o codigo 10. Quando coloco o código 4, é assumido o 14, o 5 o 15 e assim sucessivamente...

Será um problema de formatação do userform???

um obrigado antecipado

helder

 
Postado : 09/05/2014 4:23 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

hacp123,

Bom Dia!

Qual é o código que você está utilizando?

Compacte seu arquivo com ZIP (por menor que seja o mesmo) e anexe o mesmo aqui para podermos baixar, ver, depurar e ajudar melhor.

 
Postado : 09/05/2014 4:32 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

viva

'codigo de registo sequencial
Sheets("PESQUISA_HISTORICO_CURATIVA").Select
Dim r As Long
Dim d As Double
r = Cells(Rows.Count, "h").End(xlUp).Row
d = WorksheetFunction.Max(Range("h1:h" & r))
txtcurativacodigo.Text = d + 1

estou a usar este código

 
Postado : 09/05/2014 4:35 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Não entendi... o código enviado está apenas colocando na caixa de texto chamada txtcurativacodigo o próximo código que deve ser inserido. Por exemplo se eu tiver na coluan H os número de 1 a 5, ele vai preencher a caixa de texto com o número 6. E daí???

 
Postado : 09/05/2014 4:42 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

'gera codigo de registo sequencial
Sheets("PESQUISA_HISTORICO_CURATIVA").Select
Dim r As Long
Dim d As Double
r = Cells(Rows.Count, "h").End(xlUp).Row
d = WorksheetFunction.Max(Range("h1:h" & r))
txtcurativacodigo.Text = d + 1

e ainda:

pesquisa o código:

Private Sub cmbcurativaalterarok_Click()

If txtcurativaalteracodigo.Text = "" Then
MsgBox "Introduza o número de registo sff!"
txtcurativaalteracodigo.SetFocus
Exit Sub
End If
With Worksheets("PESQUISA_HISTORICO_CURATIVA").Range("h:h")
Set C = .Find(txtcurativaalteracodigo.Value, LookIn:=xlValues, lookat:=xlPart)
If Not C Is Nothing Then
Sheets("PESQUISA_HISTORICO_CURATIVA").Select
C.Activate
txtcurativaalteracodigo.Value = C.Value
txtcurativaalterafrota.Value = C.Offset(0, -7).Value
cmbcurativaalteraoficina.Value = C.Offset(0, -6).Value
txtcurativaalterakms.Value = C.Offset(0, -5).Value
txtcurativaalteradata.Value = C.Offset(0, -4).Value
txtcurativaalteraintervencao.Value = C.Offset(0, -3).Value
txtcurativaalterapendentes.Value = C.Offset(0, -2).Value
txtcurativaalteraconcluidos.Value = C.Offset(0, -1).Value
Else
MsgBox "Sem código de registo, digite novamente sff!"
txtcurativaalteracodigo.SetFocus
End If
End With
End Sub

 
Postado : 09/05/2014 4:42 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

hacp123,

Só você me enviando sua planilha...

Nos testes que fiz aqui (veja arquivo anexo) isso que você comentou em seu primeiro post não está ocorrendo.

 
Postado : 09/05/2014 4:56 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

Wagner,

enviei o ficheiro para o seu mail para poder dar uma vista de olhos.
Como o ficheiro é grande não deu para colocar aqui

 
Postado : 09/05/2014 5:07 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

hacp123,

Veja se é assim.

 
Postado : 09/05/2014 6:02 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

Wagner,

Sem sucesso, quando pesquisei o registo deu um erro:

run-time error 91

object variable or with block variable not set

o que poderá ser?

....

 
Postado : 09/05/2014 6:55 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

Private Sub cmbcurativaalterarok_Click()
Dim C As Range
Application.ScreenUpdating = False

If txtcurativaalteracodigo.Text = "" Then
MsgBox "Introduza o número de registo sff!"
txtcurativaalteracodigo.SetFocus
Exit Sub
End If

With Worksheets("PESQUISA_HISTORICO_CURATIVA").Range("h:h")
Cells.Find(What:=txtcurativaalteracodigo.Text, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Set C = ActiveCell
If C.Value <> "" Then
Sheets("PESQUISA_HISTORICO_CURATIVA").Select
txtcurativaalteracodigo.Value = C.Value
txtcurativaalterafrota.Value = C.Offset(0, -7).Value
cmbcurativaalteraoficina.Value = C.Offset(0, -6).Value
txtcurativaalterakms.Value = C.Offset(0, -5).Value
txtcurativaalteradata.Value = C.Offset(0, -4).Value
txtcurativaalteraintervencao.Value = C.Offset(0, -3).Value
txtcurativaalterapendentes.Value = C.Offset(0, -2).Value
txtcurativaalteraconcluidos.Value = C.Offset(0, -1).Value

ALTERAREGISTOCURATIVA.txtcurativaalterafrota.Enabled = True
ALTERAREGISTOCURATIVA.cmbcurativaalteraoficina.Enabled = True
ALTERAREGISTOCURATIVA.txtcurativaalterakms.Enabled = True
ALTERAREGISTOCURATIVA.txtcurativaalteradata.Enabled = True
ALTERAREGISTOCURATIVA.txtcurativaalteraintervencao.Enabled = True
ALTERAREGISTOCURATIVA.txtcurativaalterapendentes.Enabled = True
ALTERAREGISTOCURATIVA.txtcurativaalteraconcluidos.Enabled = True
ALTERAREGISTOCURATIVA.cmbcurativaalteragravar.Enabled = True
ALTERAREGISTOCURATIVA.cmbcurativaalteraexclui.Enabled = True
cmbcurativaalteraoficina.SetFocus

Else
MsgBox "Sem código de registo, digite novamente sff!"
txtcurativaalteracodigo.SetFocus
End If
End With

'ir para folha resumo
Sheets("resumo").Select
Application.ScreenUpdating = True
End Sub

Qualquer coisa aqui a falhar e não sei o que será...

 
Postado : 09/05/2014 7:03 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Apenas um pequeno detalhe. Veja agora.

 
Postado : 09/05/2014 7:16 am
(@hacp123)
Posts: 0
New Member
Topic starter
 

Fabuloso Wagner,

Mais uma vez lhe agradeço a ajuda preciosa, o problema está resolvido. Pois os meus conhecimentos em vba são um pouco limitados e toda a ajuda é bem vinda. Só comecei a tentar programar em vba à cerca de 1 mês e acho que me estou a safar, no entanto tenho-me deparado com alguns obstáculos e sem esta importante ajuda, penso que não conseguiria concluir o meu projecto.
Realço a importância deste forum e das pessoas envolvidas no mesmo, que possuem conhecimentos e estão dispostas a ajudar.

Um bem haja

Abraços helder

 
Postado : 09/05/2014 7:31 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Valeu Helder.

Obrigado e parabéns pelo seu empenho. Sua programação, design de formulários está muito boa!

Estou sempre às ordens. Se eu souber...

 
Postado : 09/05/2014 8:57 am