Código de Navegação...
 
Notifications
Clear all

Código de Navegação - Excel VBA

4 Posts
2 Usuários
0 Reactions
786 Visualizações
(@sajeman)
Posts: 2
New Member
Topic starter
 

Olá pessoal, Boa Tarde!
Estou quebrando a cabeça e não encontrei os códigos para que funcionem nos meus botões de navegação (Primeiro e Último) registro.
Já pesquisei pela internet a fora, incluindo vários códigos, mas até o momento não funfou.
E um dos códigos pesquisados pelos companheiros, está dando erro "Erro de tempo de execução '1004' definido pelo aplicativo ou erro definido pelo objeto" neste código abaixo.
E também não conseguir fazer com esses botões (Primeiro e Último) avisem por msgbox: "Você está no primeiro registro!" e "Você está no último registro!"

Alguém pode ajudar-me?

Segue em anexo o meu projeto completo.

Private Sub CarregaRegistroNavegacao()
'carrega os dados do primeiro registro
Set wsCadastro = ThisWorkbook.Worksheets("Cadastro_de_Notas")
    With wsCadastro
        If Not IsEmpty(.Cells(indiceRegistro, 1)) Then
      
            Me.Txt_Registro.Text = .Cells(indiceRegistro, 0).Value
            Me.Txt_CNPJ.Text = .Cells(indiceRegistro, 1).Value
            Me.Txt_NumeroNF.Text = .Cells(indiceRegistro, 2).Value
            Me.ComboBox_NaturOperacao.Text = .Cells(indiceRegistro, 3).Value
            Me.Txt_Fornecedor.Text = .Cells(indiceRegistro, 4).Value
            Me.Txt_ValorNF.Text = .Cells(indiceRegistro, 5).Value
            Me.Txt_PO.Text = .Cells(indiceRegistro, 6).Value
            Me.Txt_PO2.Text = .Cells(indiceRegistro, 7).Value
            Me.Txt_PO3.Text = .Cells(indiceRegistro, 8).Value
            Me.Txt_Vendor.Text = .Cells(indiceRegistro, 9).Value
            Me.Txt_CalenderEmissao.Text = .Cells(indiceRegistro, 10).Value
            Me.ComboBox_CondicaoPagto.Text = .Cells(indiceRegistro, 11).Value
            Me.Txt_CalenderVencimento.Text = .Cells(indiceRegistro, 12).Value
            FrmCadastrosNotas.Txt_StatusVencimento.Text = .Cells(indiceRegistro, 13).Value
            Me.Txt_Protocolo.Text = .Cells(indiceRegistro, 14).Value
            Me.Txt_Responsavel.Text = .Cells(indiceRegistro, 15).Value
            Me.ComboBox_Seguranca.Text = .Cells(indiceRegistro, 16).Value
            Me.Txt_DataHoraOcorrencia.Text = .Cells(indiceRegistro, 17).Value
            Me.Txt_Observacao.Text = .Cells(indiceRegistro, 18).Value
                      
        End If
        'Call AtualizaRegistroCorrente
    End With
End Sub
 
Postado : 28/11/2016 1:55 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Sajeman

Seja bem-vindo ao fórum!

Com você é novato, e pelo jeito está por fora das regras do fórum, para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

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

 
Postado : 28/11/2016 4:50 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sajemam

Se você resolveu, poste a resolução aqui no fórum, para ajudar outras pessoas que venham a ter a mesma dúvida.

[]s

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

 
Postado : 30/11/2016 7:29 pm
(@sajeman)
Posts: 2
New Member
Topic starter
 

Boa tarde!
Consegui resolver os códigos do projeto alterando neste formato.
Obrigado a todos pela ajuda!!!

Private Sub Btn_PrimeiroCadastro_Click()
    indiceRegistro = indiceMinimo
    If indiceRegistro > 1 Then
    Call CarregaRegistroNavegacao
    End If
End Sub

Private Sub CmdButton__Anterior_Click()
If indiceRegistro > indiceMinimo Then
        indiceRegistro = indiceRegistro - 1
End If
    If indiceRegistro > 1 Then
        Call CarregaRegistroNavegacao
    End If
End Sub

Private Sub CmdButton__Próximo_Click()
If indiceRegistro < wsCadastro.UsedRange.Rows.Count Then
        indiceRegistro = indiceRegistro + 1
End If
    If indiceRegistro > 1 Then
        Call CarregaRegistroNavegacao
    End If
End Sub

Private Sub Btn_UltimoCadastro_Click()
  indiceRegistro = wsCadastro.Cells(Rows.Count, 1).End(3).Row
  If indiceRegistro > 1 Then
  Call CarregaRegistroNavegacao
  End If
End Sub
 
Postado : 01/12/2016 1:25 pm