Botao de ANTERIOR e PROXIMO

Anônima
2011-02-20T14:16:59+00:00

Criei um formulário e nele estou querendo implementar um navegador de registros com botao de Anterior e Próximo. Acontece que não quero navegar para próxima LINHA, mas para a próxima COLUNA.

Gostaria que a cada vez que clicasse no botão ANTERIOR, por exemplo, o textbox2 pegasse o valor de 3 celulas anteriores e o textbox3 o valor de 2 células anteriores.

Tentei sem sucesso dessa forma:

sub anterior()

Worksheets("HIST").Select

Dim x As Range, i As Integer, col As Long

Set x = Worksheets("HIST").Range("C:C").Find(What:=TextBox 4.Text, After:=Worksheets("HIST").Range("C2"), LookIn:=xlValues, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

False, SearchFormat:=False)

i = x.Row

'interpreta qual linha/coluna de ação

col = Worksheets("HIST").Range("IV" & i).End(xlToLeft).Column

Set x = Worksheets("HIST").Range("C:C").FindNext(After:=x)

If Not x Is Nothing Then

With Worksheets("HIST")

TextBox3 = TextBox3.Value - (.Cells(i, col - 2))

TextBox2 = TextBox2.Value - (.Cells(i, col - 3))

End With

End If

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

8 respostas

Classificar por: Mais útil
  1. Anônima
    2011-02-21T03:07:51+00:00

    Guimath,

    A sua planilha é bem complexa. Não deu pra entender assim rapidamente. Sorry...

    M.

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2011-02-20T18:47:51+00:00

    Branco concordo totalmente contigo. Realmente deveria funcionar, é possível que outras rotinas que utilizo possam estar impedindo o funcionamento como vc sugeriu.

    Vou postar um exemplo de como esta todo o processo para que você possa visualizar.

    http://www.4shared.com/file/tUdvuEND/exemplo\_anterior\_proximo\_2.html

    Valeu

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2011-02-20T18:28:53+00:00

    Guimath,

    Para mim funcionou perfeitamente, ou seja se a célula selecionada for, por exemplo H3, ao clicar no botão anterior o valor do checkbox2 passa a ser o valor da célula E3 (tres colunas para trás) e do checkbox3 passa a ser o da célula F3 (duas colunas para trás)

    Não entendo pq não funcionou pra vc...

    Private Sub cmdAnterior_Click()

        TextBox2 = ActiveCell.Offset(0, -3)

        TextBox3 = ActiveCell.Offset(0, -2)

    End Sub

    M.

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2011-02-20T16:22:55+00:00

    Então, Branco.

    Dessa forma como sugeriu, ao clicar no botão os dados não se modificam. Ou seja não processa nenhuma alteração. 

    Valeu

    Esta resposta foi útil?

    0 comentários Sem comentários
  5. Anônima
    2011-02-20T15:46:09+00:00

    Oi Guimath,

    talvez isso

    Textbox3 = ActiveCell.Offset(0, -2)

    TextBox2 = ActiveCell.Offset(0, -3)

    M.

    Esta resposta foi útil?

    0 comentários Sem comentários