Página 1 de 1

Carregar dados em USERFORM

Enviado: 12 Mar 2020 às 04:09
por julyonda
Carregar daBoa noite, amigos,
Comecei a estudar com vba a pouco tempo e precisava da ajuda de alguém para conseguir carregar no formulário "Cadastro" as informações da minha planilha que estão na aba "Contratos". Já tentei pesquisar vários códigos, mas não consigo fazer funcionar.

Na sequência preciso que os buttons next, anterior, primeiro e ultimo funcionem também, porém, como não consigo carregar os dados básicos, nem tenho como testar nenhum código.

Alguém pode me ajudar?

Anexo segue planilha utilizada.

Re: Carregar dados em USERFORM

Enviado: 12 Mar 2020 às 15:26
por julyonda
Ah, esqueci de falar.

Preciso que o abrir o formulário "Cadastro", ele já me traga os registros que estão na aba "Contratos" da planilha de controle.
Com base nisso, a navegação se dará pelos buttons Primeiro, Anterior, Ultimo e Próximo, na parte inferior do formulário.

Por favor, me ajudem. Eu já tentei testar diversos códigos que vi em outras planilhas, mas nenhum deu certo. :(

Re: Carregar dados em USERFORM

Enviado: 12 Mar 2020 às 17:41
por topscore
julyonda:

Quando você abrir o formulário Cadastro, pelo que entendi, você quer que ele carregue o primeiro cadastro da tabela em Contratos. Se apertar seta para direita, ele vai para o segundo, também pode voltar, ir para o último, etc. Seria isso?

Carregar dados em USERFORM

Enviado: 12 Mar 2020 às 19:11
por julyonda
Isso mesmo!!!
Qual código eu uso?

Re: Carregar dados em USERFORM

Enviado: 16 Mar 2020 às 15:13
por topscore
Sorry, só vi agora a resposta.

Vou tentar fazer para você.

Re: Carregar dados em USERFORM

Enviado: 16 Mar 2020 às 19:56
por fcarlosc2018
Boa noite julyonda

Segue os códigos para Carregar os Dados e Navegar entre eles usando os botões de navegação.
Código: Selecionar todos
Public Sub CarregaDados()

TextBox1.Text = ActiveCell.Offset(0, 0).Value
TextBox2.Text = ActiveCell.Offset(0, 1).Value
TextBox3.Text = ActiveCell.Offset(0, 2).Value
TextBox4.Text = ActiveCell.Offset(0, 3).Value
TextBox5.Text = ActiveCell.Offset(0, 4).Value

End Sub



Private Sub btnPrimeiro_Click()
Call Primeiro
End Sub

Private Sub btnAnterior_Click()
Call Anterior
End Sub

Private Sub btnProximo_Click()
Call Proximo
End Sub

Private Sub btnUltimo_Click()
Call Ultimo
End Sub



Sub Primeiro()

Plan1.Activate

Dim UltimaLinha As Object
Set UltimaLinha = Plan1.Range("A3").End(xlUp)

TextBox1.Text = UltimaLinha.Offset(1, 0).Select
 
Call CarregaDados


End Sub



Sub Anterior()

Plan1.Activate

Dim total As Variant
total = (Cells(Rows.Count, 1).End(xlUp).Row) - 1
     
     If ActiveCell.Row = 3 Then
         MsgBox "Início do Registro"
    Else
         Cells(ActiveCell.Row, 1).Offset(-1, 0).Select
   
    End If
   
    Call CarregaDados   

End Sub



Sub Proximo()

Plan1.Activate

Dim total As Variant
total = (Cells(Rows.Count, 1).End(xlUp).Row) - 1
     
     If ActiveCell.Row > total Then
         MsgBox "Final do Registro"
    Else
         Cells(ActiveCell.Row, 1).Offset(1, 0).Select
   
    End If
   
    Call CarregaDados
   
End Sub



Sub Ultimo()

Plan1.Activate

Dim UltimaLinha As Object
Set UltimaLinha = Plan1.Range("A6000").End(xlUp)

TextBox1.Text = UltimaLinha.Offset(0, 0).Select
 
    Call CarregaDados

End Sub
No "CarregarDados" você deve colocar os nomes das TextBoxes na sequencia conforme os campos da sua Plan e seu formulário.

Att,
Francisco