Notifications
Clear all

pesquisa código formulário

13 Posts
2 Usuários
0 Reactions
1,698 Visualizações
(@hacp123)
Posts: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious 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.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 4:32 am
(@hacp123)
Posts: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious 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í???

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 4:42 am
(@hacp123)
Posts: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious 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.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 4:56 am
(@hacp123)
Posts: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

hacp123,

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 6:02 am
(@hacp123)
Posts: 9
Active 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: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Apenas um pequeno detalhe. Veja agora.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 7:16 am
(@hacp123)
Posts: 9
Active 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious 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...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2014 8:57 am