Ir ao conteúdo
  • Cadastre-se

como alterar dados da planilha com formulario vba


Posts recomendados

BOA TARDE,

 

Tenho um formulario de cadastro onde consigo, pesquisar, salvar e imprimir os dados, mas quando pesquisa um registro para alterar o código esta salvando em cima do ultimo registro, ou seja, não esta selecionando a celula do registro que a pesquisa localizou para alteração. Se alguem puder me ajudar fico grata. Sgue os codigos abaixo:

-------------- Botão de Pesquisar por nome ---------------


 

Private Sub btn_Procurar_Click()
If Me.txt_Procurar.Text = "" Then
        MsgBox "Digite um valor para a pesquisa"
    Else
        Call ProcuraPersonalizada(Me.txt_Procurar.Text)
        Label_Registros_Contador.Visible = True
       ' SpinButton1.Visible = True
       
    End If
    txt_Procurar.Text = ""
    
End Sub
Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As String)
Dim Busca As Range
Dim Primeira_Ocorrencia As String
Dim Resultados As String
                                                 
        'Executa a busca POR NOME (COLUNA 
        Set Busca = Plan1.Range("B:B").Find(What:=TermoPesquisado, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    
    'Caso tenha encontrado alguma ocorrência...
    If Not Busca Is Nothing Then
     
        Primeira_Ocorrencia = Busca.Address
        Resultados = Busca.Row  'Lista o primeiro resultado na variavel
   
        'Neste loop, pesquisa todas as próximas ocorrências para
        'o termo pesquisado
        Do
            Set Busca = Plan1.Cells.FindNext(After:=Busca)
        
            'Condicional para não listar o primeiro resultado
            'pois já foi listado acima
            If Not Busca.Address Like Primeira_Ocorrencia Then
                Resultados = Resultados & ";" & Busca.Row
            End If
        Loop Until Busca.Address Like Primeira_Ocorrencia
    
    
        MatrizResultados = Split(Resultados, ";")
        
        'Atualiza dados iniciais no formulário
        SpinButton1.Max = UBound(MatrizResultados)  'Valor maximo do seletor de registros
        
        SpinButton1.Visible = True ' DEIXA O SELETOR VISIVEL
        
        'habilita o seletor de registro
        SpinButton1.Enabled = True
        
        'indicador do seletor de registros
        Label_Registros_Contador.Caption = "1 de " & UBound(MatrizResultados) + 1
        
      
        
        'Box com o conteudo encontrado
        BOXNOME.Text = Plan1.Cells(MatrizResultados(0), 2).Value
        BOXDTNASC.Text = Plan1.Cells(MatrizResultados(0), 3).Value
        BOXCIDNAS.Text = Plan1.Cells(MatrizResultados(0), 4).Value
        BOXUFNASC.Value = Plan1.Cells(MatrizResultados(0), 5).Value
        BOXPAI.Text = Plan1.Cells(MatrizResultados(0), 6).Value
        BOXMAE.Text = Plan1.Cells(MatrizResultados(0), 7).Value
        BOXIGREJA.Text = Plan1.Cells(MatrizResultados(0), 8).Value
        BOXCIDIGREJA.Text = Plan1.Cells(MatrizResultados(0), 9).Value
        BOXUFIGREJA.Value = Plan1.Cells(MatrizResultados(0), 10).Value
        BOXDTBATISMO.Text = Plan1.Cells(MatrizResultados(0), 11).Value
        BOXBPADRINHO.Text = Plan1.Cells(MatrizResultados(0), 12).Value
        BOXBMADRINHA.Text = Plan1.Cells(MatrizResultados(0), 13).Value
        BOXENDERECO.Text = Plan1.Cells(MatrizResultados(0), 14).Value
        BOXN.Text = Plan1.Cells(MatrizResultados(0), 15).Value
        BOXBAIRRO.Text = Plan1.Cells(MatrizResultados(0), 16).Value
        BOXCIDEND.Text = Plan1.Cells(MatrizResultados(0), 17).Value
        BOXTEL1.Text = Plan1.Cells(MatrizResultados(0), 18).Value
        BOXTEL2.Text = Plan1.Cells(MatrizResultados(0), 19).Value
        BOXTRANSF.Value = Plan1.Cells(MatrizResultados(0), 20).Value
        BOXDESIST.Value = Plan1.Cells(MatrizResultados(0), 21).Value
        BOXDTCOMUNHAO.Text = Plan1.Cells(MatrizResultados(0), 22).Value
        BOXOBS.Text = Plan1.Cells(MatrizResultados(0), 23).Value
        BOXMATRICULA.Text = Plan1.Cells(MatrizResultados(0), 24).Value
        ANO1.Text = Plan1.Cells(MatrizResultados(0), 25).Value
        ETAPA1.Value = Plan1.Cells(MatrizResultados(0), 26).Value
        FALTA1.Text = Plan1.Cells(MatrizResultados(0), 27).Value
        OBS1.Text = Plan1.Cells(MatrizResultados(0), 28).Value
        CAT1.Text = Plan1.Cells(MatrizResultados(0), 29).Value
        ANO2.Text = Plan1.Cells(MatrizResultados(0), 30).Value
        ETAPA2.Value = Plan1.Cells(MatrizResultados(0), 31).Value
        FALTA2.Text = Plan1.Cells(MatrizResultados(0), 32).Value
        OBS2.Text = Plan1.Cells(MatrizResultados(0), 33).Value
        CAT2.Text = Plan1.Cells(MatrizResultados(0), 34).Value
        ANO3.Text = Plan1.Cells(MatrizResultados(0), 35).Value
        ETAPA3.Value = Plan1.Cells(MatrizResultados(0), 36).Value
        FALTA3.Text = Plan1.Cells(MatrizResultados(0), 37).Value
        OBS3.Text = Plan1.Cells(MatrizResultados(0), 38).Value
        CAT3.Text = Plan1.Cells(MatrizResultados(0), 39).Value
        ANO4.Text = Plan1.Cells(MatrizResultados(0), 40).Value
        ETAPA4.Value = Plan1.Cells(MatrizResultados(0), 41).Value
        FALTA4.Text = Plan1.Cells(MatrizResultados(0), 42).Value
        OBS4.Text = Plan1.Cells(MatrizResultados(0), 43).Value
        CAT4.Text = Plan1.Cells(MatrizResultados(0), 44).Value
        ANO5.Text = Plan1.Cells(MatrizResultados(0), 45).Value
        ETAPA5.Value = Plan1.Cells(MatrizResultados(0), 46).Value
        FALTA5.Text = Plan1.Cells(MatrizResultados(0), 47).Value
        OBS5.Text = Plan1.Cells(MatrizResultados(0), 48).Value
        CAT5.Text = Plan1.Cells(MatrizResultados(0), 49).Value
        ANO6.Text = Plan1.Cells(MatrizResultados(0), 50).Value
        ETAPA6.Value = Plan1.Cells(MatrizResultados(0), 51).Value
        FALTA6.Text = Plan1.Cells(MatrizResultados(0), 52).Value
        OBS6.Text = Plan1.Cells(MatrizResultados(0), 53).Value
        CAT6.Text = Plan1.Cells(MatrizResultados(0), 54).Value
        ANO7.Text = Plan1.Cells(MatrizResultados(0), 55).Value
        ETAPA7.Value = Plan1.Cells(MatrizResultados(0), 56).Value
        FALTA7.Text = Plan1.Cells(MatrizResultados(0), 57).Value
        OBS7.Text = Plan1.Cells(MatrizResultados(0), 58).Value
        CAT7.Text = Plan1.Cells(MatrizResultados(0), 59).Value
        BOXPADRINHO.Text = Plan1.Cells(MatrizResultados(0), 60).Value
        BOXMADRINHA.Text = Plan1.Cells(MatrizResultados(0), 61).Value
        BOXDTCRISMA.Text = Plan1.Cells(MatrizResultados(0), 62).Value
    
   
    
    Else    'Caso nada tenha sido encontrado, exibe mensagem informativa
    
       
        SpinButton1.Enabled = False     'desabilita o seletor de registros
        Label_Registros_Contador.Caption = ""   'zera os resultados encontrados
        LIMPARCAMPOS  'limpa os campos do formulário
        MsgBox "Nenhum resultado para '" & TermoPesquisado & "' foi encontrado."
        SpinButton1.Visible = False
    
    End If
    
End Sub


------------ Botão ALTERAR -------------

CONVERTERCARACTERES ' CONVERTE PARA MAIUSCULA
    ActiveCell.Offset(0, 1).Value = BOXNOME.Text
    ActiveCell.Offset(0, 2).Value = BOXDTNASC.Text
    ActiveCell.Offset(0, 3).Value = BOXCIDNAS
    ActiveCell.Offset(0, 4).Value = BOXUFNASC
    ActiveCell.Offset(0, 5).Value = BOXPAI
    ActiveCell.Offset(0, 6).Value = BOXMAE
    ActiveCell.Offset(0, 7).Value = BOXIGREJA
    ActiveCell.Offset(0, 8).Value = BOXCIDIGREJA
    ActiveCell.Offset(0, 9).Value = BOXUFIGREJA
    ActiveCell.Offset(0, 10).Value = BOXDTBATISMO
    ActiveCell.Offset(0, 11).Value = BOXBPADRINHO
    ActiveCell.Offset(0, 12).Value = BOXBMADRINHA
    ActiveCell.Offset(0, 13).Value = BOXENDERECO
    ActiveCell.Offset(0, 14).Value = BOXN
    ActiveCell.Offset(0, 15).Value = BOXBAIRRO
    ActiveCell.Offset(0, 16).Value = BOXCIDEND
    ActiveCell.Offset(0, 17).Value = BOXTEL1
    ActiveCell.Offset(0, 18).Value = BOXTEL2
    ActiveCell.Offset(0, 19).Value = BOXTRANSF
    ActiveCell.Offset(0, 20).Value = BOXDESIST
    ActiveCell.Offset(0, 21).Value = BOXDTCOMUNHAO
    ActiveCell.Offset(0, 22).Value = BOXOBS
    ActiveCell.Offset(0, 23).Value = BOXMATRICULA
    ActiveCell.Offset(0, 24).Value = ANO1
    ActiveCell.Offset(0, 25).Value = ETAPA1
    ActiveCell.Offset(0, 26).Value = FALTA1
    ActiveCell.Offset(0, 27).Value = OBS1
    ActiveCell.Offset(0, 28).Value = CAT1
    ActiveCell.Offset(0, 29).Value = ANO2
    ActiveCell.Offset(0, 30).Value = ETAPA2
    ActiveCell.Offset(0, 31).Value = FALTA2
    ActiveCell.Offset(0, 32).Value = OBS2
    ActiveCell.Offset(0, 33).Value = CAT2
    ActiveCell.Offset(0, 34).Value = ANO3
    ActiveCell.Offset(0, 35).Value = ETAPA3
    ActiveCell.Offset(0, 36).Value = FALTA3
    ActiveCell.Offset(0, 37).Value = OBS3
    ActiveCell.Offset(0, 38).Value = CAT3
    ActiveCell.Offset(0, 39).Value = ANO4
    ActiveCell.Offset(0, 40).Value = ETAPA4
    ActiveCell.Offset(0, 41).Value = FALTA4
    ActiveCell.Offset(0, 42).Value = OBS4
    ActiveCell.Offset(0, 43).Value = CAT4
    ActiveCell.Offset(0, 44).Value = ANO5
    ActiveCell.Offset(0, 45).Value = ETAPA5
    ActiveCell.Offset(0, 46).Value = FALTA5
    ActiveCell.Offset(0, 47).Value = OBS5
    ActiveCell.Offset(0, 48).Value = CAT5
    ActiveCell.Offset(0, 49).Value = ANO6
    ActiveCell.Offset(0, 50).Value = ETAPA6
    ActiveCell.Offset(0, 51).Value = FALTA6
    ActiveCell.Offset(0, 52).Value = OBS6
    ActiveCell.Offset(0, 53).Value = CAT6
    ActiveCell.Offset(0, 54).Value = ANO7
    ActiveCell.Offset(0, 55).Value = ETAPA7
    ActiveCell.Offset(0, 56).Value = FALTA7
    ActiveCell.Offset(0, 57).Value = OBS7
    ActiveCell.Offset(0, 58).Value = CAT7
    ActiveCell.Offset(0, 59).Value = BOXPADRINHO
    ActiveCell.Offset(0, 60).Value = BOXMADRINHA
    ActiveCell.Offset(0, 61).Value = BOXDTCRISMA
    
    LIMPARCAMPOS        'limpa os campos
    ActiveWorkbook.Save ' salvo a planilha
    MsgBox "Atualização realizada com sucesso!", vbInformation, "Confirmação"
           
 End Sub

 

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!