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 todosPublic 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