Updating data in 47 columns (not only in the first)

juliocesarm

New Member
Joined
Aug 11, 2016
Messages
1
Hello guys,

sorry for the stupid question but I was watching Youtube to do that and the deadline of my master thesis is the next Monday! :(

The problem is, I have 3 forms and this form is to update my data. If I change any data it is not updating.

I was looking a video in YouTube, in the original video the guys used Flag = 0, if I use Flag =1 only the "txt_nome" is updated (because it is in column 1). I tried used Flag = 2, Flag >0.... it is not working.

Everything is working (clean, delete) but I nedd a form that update all my data (if have any change), it is updating only the "txt_nome".

Code:
'Variáveis utilizadas em todo o formulário
Dim flag As Integer
Dim Campo As String
Dim Linha As Integer
Dim Linha_Encon As Integer
Dim FileName As Variant
Dim dir As String



   'Rotina para editar um registo
   Public Sub btn_edit_Click()
       
       If flag = 1 Then 'Flag igual a 0 indica que a edição foi realizada (if i put flag=0, it is not working)
    
      
     
    
       'Atualizando os dados da planilha com os inseridos pelo usuário na edição
       Cells(Linha_Encon, 1).Value = txt_nome
       Cells(Linha_Encon, 2).Value = txt_bi
       Cells(Linha_Encon, 3) = txt_nasc
       Cells(Linha_Encon, 4) = txt_morada
       Cells(Linha_Encon, 5) = txt_localidade
       Cells(Linha_Encon, 6) = txt_cp
       Cells(Linha_Encon, 7) = txt_email
       Cells(Linha_Encon, 8) = txt_tel
       Cells(Linha_Encon, 9) = txt_tlm
       Cells(Linha_Encon, 10) = box_fase
       Cells(Linha_Encon, 11) = box_anoletivo
       Cells(Linha_Encon, 12) = box_curso
       Cells(Linha_Encon, 13) = box_ramo
       Cells(Linha_Encon, 14) = box_inscricao
       Cells(Linha_Encon, 15) = txt_naluno
       Cells(Linha_Encon, 16) = box_licenciatura
       Cells(Linha_Encon, 17) = box_universidade
       Cells(Linha_Encon, 18) = txt_claslic
       Cells(Linha_Encon, 19) = txt_pos
       Cells(Linha_Encon, 20) = txt_ativprof
       Cells(Linha_Encon, 21) = txt_empresaprof
       Cells(Linha_Encon, 22) = txt_temapt
       Cells(Linha_Encon, 23) = txt_temaen
       Cells(Linha_Encon, 24) = box_status
       Cells(Linha_Encon, 25) = box_orientador
       Cells(Linha_Encon, 26) = box_coorientador
       Cells(Linha_Encon, 27) = box_orientadorempresa
       Cells(Linha_Encon, 28) = box_empresa
       Cells(Linha_Encon, 29) = txt_datainicio
       Cells(Linha_Encon, 30) = txt_uc
       Cells(Linha_Encon, 31) = box_anoletivodissertacao
       Cells(Linha_Encon, 32) = txt_dataapresentacao
       Cells(Linha_Encon, 33) = txt_sala
       Cells(Linha_Encon, 34) = box_horario
       Cells(Linha_Encon, 35) = txt_classificacaon
       Cells(Linha_Encon, 36) = box_classificacao
       Cells(Linha_Encon, 37) = box_juri
       Cells(Linha_Encon, 38) = box_arguente
       Cells(Linha_Encon, 39) = txt_obs
       Cells(Linha_Encon, 40) = txt_homdc
       Cells(Linha_Encon, 41) = txt_homddept
       Cells(Linha_Encon, 42) = txt_homcp
       Cells(Linha_Encon, 43) = txt_pauta
       Cells(Linha_Encon, 44) = txt_pagina
       Cells(Linha_Encon, 45) = box_declaracao
       Cells(Linha_Encon, 46) = txt_link
       Cells(Linha_Encon, 47) = FileName
       
   
     
           
       'Msg ao usuário e chamando o sub userForm_inicitialize
       MsgBox "Registo alterado com sucesso"
       Userform_Initialize
       
       'Habilitando os botões de Edição e exclusão
       btn_edit.Visible = True
       btn_excluir.Visible = True
       Limpar_RA.Visible = True
       
       'Bloqueando a alteração da imagem
       Mudar_Img.Enabled = False
       foto.Enabled = False
    
  Else 'Flag diferente de 0 indica que a edição foi requisitada e os botões tendem a serem liberados
  
   'Habilitando a alteração das imagens pelo usuário
   Mudar_Img.Enabled = True
   foto.Enabled = True
   
   
    'Verificando se Existe Imagem cadastrada
       If Cells(Linha_Encon, 47) = FALSO Then
       img_add = ThisWorkbook.Path & "\imagens\add_photo.jpg"
       foto.Picture = LoadPicture()
       End If
   
  
   'Por segurança a variável FileName assume o valor atual do cadastro
   FileName = Cells(Linha_Encon, 47)
   
   End If
   
End Sub


'Rotina de Exclusão de Cliente
Public Sub btn_excluir_Click()


    
     Dim Ans As Integer
     
     Ans = MsgBox("Deseja realmente remover o registo?", vbYesNo)
     
     Select Case Ans
       Case vbYes
          Worksheets("ALUNO").Rows(Linha_Encon).Delete
          MsgBox "Aluno excluído com sucesso!"
          Limpar_RA_Click
          box_nome.SetFocus
       Case vbNo
          box_nome.SetFocus
     End Select
  
End Sub










Private Sub Label1_Click()


End Sub


Public Sub Limpar_RA_Click()


       'Limpando os campos comuns
       box_nome = ""
       box_bi = ""
       box_nalunos = ""
     txt_nome = ""
     txt_bi = ""
     txt_nasc = ""
     txt_morada = ""
     txt_localidade = ""
     txt_cp = ""
     txt_email = ""
     txt_tel = ""
     txt_tlm = ""
     box_fase = ""
     box_anoletivo = ""
     box_curso = ""
     box_ramo = ""
     box_inscricao = ""
     txt_naluno = ""
     box_licenciatura = ""
     box_universidade = ""
     txt_claslic = ""
     txt_pos = ""
     txt_ativprof = ""
     txt_empresaprof = ""
     txt_temapt = ""
     txt_temaen = ""
     box_status = ""
     box_orientador = ""
     box_coorientador = ""
     box_orientadorempresa = ""
     box_empresa = ""
     txt_datainicio = ""
     txt_uc = ""
     box_anoletivodissertacao = ""
     txt_dataapresentacao = ""
     txt_sala = ""
     box_horario = ""
     txt_classificacaon = ""
     box_classificacao = ""
     box_juri = ""
     box_arguente = ""
     txt_obs = ""
     txt_homdc = ""
     txt_homddept = ""
     txt_homocp = ""
     txt_pauta = ""
     txt_pagina = ""
     box_declaracao = ""
     txt_link = ""
     
       
       'Limpando a imagem
       foto.Picture = LoadPicture()
       
       'Bloqueando os botões EDIT e EXCLUIR
       btn_edit.Visible = False
       btn_excluir.Visible = False
       
       
       
       'Focalizando no campo nome
       box_nome.SetFocus
       
End Sub


Public Sub Mudar_Img_Click()
  Dim Finfo As String
  Dim FilterIndex As Integer
  Dim Title As String
  Dim File As Variant
  
  
  
  Finfo = "Pictures (*.jpg*),*.*"
  
  FilterIndex = 1
  
  Title = "Selecione um arquivo para importar"
  
  File = Application.GetOpenFilename(Finfo, FilterIndex, Title)
  
  If File = False Then
    MsgBox "Nenhuma imagem foi selecionada."
    
  Else
    foto.Picture = LoadPicture(File)
    foto.PictureSizeMode = fmPictureSizeModeStretch
    FileName = File
  End If
  
  
End Sub






Private Sub txt_nome_Change()


End Sub


'Ao iniciar o form
Public Sub Userform_Initialize()


   


   flag = 1 'Variável que controla o evento Chance dos Textbox
   
    btn_edit.Visible = False
   btn_excluir.Visible = False
       
  
     
End Sub


  


'Ao mudar algo no campo txt_nome o rotina acessa o procedimento verificação
Public Sub box_nome_Change()
  If flag = 1 Then
  Campo = box_nome
  Linha = 1
  verificacao
  End If
  
End Sub


'Ao mudar algo no campo txt_bi o rotina acessa o procedimento verificação
Public Sub box_bi_Change()
  If flag = 1 Then
  Campo = box_bi
  Linha = 2
  verificacao
  End If
End Sub






'Ao mudar algo no campo txt_naluno rotina acessa o procedimento verificação
Public Sub box_naluno_Change()
If flag = 1 Then
  Campo = box_naluno
  Linha = 15
  verificacao
  End If
End Sub






'Rotina para verificar se existe um cadastro
Public Sub verificacao()


  Dim i As Integer 'Variável contadora
  
  'Encontrando a quantidade de linhas usadas na planilha
  cont = Worksheets("ALUNO").UsedRange.Rows.Count
  
  'Selecionando a planilha a ser usada como banco de dados
   Worksheets("ALUNO").Select
  
  If flag = 1 Then
   For i = 2 To cont
     If Cells(i, Linha) = Campo Then
     
       'Condicionais necessários para evitar que os campos
       'não alterem seus valores caso estejam em uso
       If Linha <> 1 Then
         flag = 0
         box_nome = Cells(i, 1)
         flag = 1
       End If
       
       If Linha <> 2 Then
         flag = 0
         box_bi = Cells(i, 2)
         flag = 1
       End If
            
                    
       If Linha <> 15 Then
         flag = 0
         box_naluno = Cells(i, 15)
         flag = 1
       End If
                   
                    
       btn_edit.Visible = True
       btn_excluir.Visible = True
       
       
       'Preenchendo os campos com os dados do Aluno encontrado
     txt_nome = Cells(i, 1)
     txt_bi = Cells(i, 2)
     txt_nasc = Cells(i, 3)
     txt_morada = Cells(i, 4)
     txt_localidade = Cells(i, 5)
     txt_cp = Cells(i, 6)
     txt_email = Cells(i, 7)
     txt_tel = Cells(i, 8)
     txt_tlm = Cells(i, 9)
     box_fase = Cells(i, 10)
     box_anoletivo = Cells(i, 11)
     box_curso = Cells(i, 12)
     box_ramo = Cells(i, 13)
     box_inscricao = Cells(i, 14)
     txt_naluno = Cells(i, 15)
     box_licenciatura = Cells(i, 16)
     box_universidade = Cells(i, 17)
     txt_claslic = Cells(i, 18)
     txt_pos = Cells(i, 19)
     txt_ativprof = Cells(i, 20)
     txt_empresaprof = Cells(i, 21)
     txt_temapt = Cells(i, 22)
     txt_temaen = Cells(i, 23)
     box_status = Cells(i, 24)
     box_orientador = Cells(i, 25)
     box_coorientador = Cells(i, 26)
     box_orientadorempresa = Cells(i, 27)
     box_empresa = Cells(i, 28)
     txt_datainicio = Cells(i, 29)
     txt_uc = Cells(i, 30)
     box_anoletivodissertacao = Cells(i, 31)
     txt_dataapresentacao = Cells(i, 32)
     txt_sala = Cells(i, 33)
     box_horario = Cells(i, 34)
     txt_classificacaon = Cells(i, 35)
     box_classificacao = Cells(i, 36)
     box_juri = Cells(i, 37)
     box_arguente = Cells(i, 38)
     txt_obs = Cells(i, 39)
     txt_homdc = Cells(i, 40)
     txt_homddept = Cells(i, 41)
     txt_homocp = Cells(i, 42)
     txt_pauta = Cells(i, 43)
     txt_pagina = Cells(i, 44)
     box_declaracao = Cells(i, 45)
     txt_link = Cells(i, 46)
      
       
       'Verificando se Existe Imagem cadastrada
       If Cells(i, 47) <> FALSO Then
       foto.Picture = LoadPicture(Cells(i, 47))
       Else
       'Imagem limpa
       img_add = ThisWorkbook.Path & "\imagens\add_photo.jpg"
       foto.Picture = LoadPicture()
       End If
       
       Linha_Encon = i
       Exit Sub
       
       


     Else
     
     
     btn_edit.Visible = False
     btn_excluir.Visible = False
     
     'Condicionais necessários para evitar que os campos não alterem seus valores caso estejam em uso
     
       If Linha <> 1 Then
         flag = 0
         box_nome = ""
         flag = 1
       End If
       
       If Linha <> 2 Then
         flag = 0
         box_bi = ""
         flag = 1
       End If
            
               
       
       If Linha <> 15 Then
         flag = 0
         box_naluno = ""
         flag = 1
       End If
     
       
       
       'Preenchendo os campos com os dados do Aluno encontrado
     txt_nome = ""
     txt_bi = ""
     txt_nasc = ""
     txt_morada = ""
     txt_localidade = ""
     txt_cp = ""
     txt_email = ""
     txt_tel = ""
     txt_tlm = ""
     box_fase = ""
     box_anoletivo = ""
     box_curso = ""
     box_ramo = ""
     box_inscricao = ""
     txt_naluno = ""
     box_licenciatura = ""
     box_universidade = ""
     txt_claslic = ""
     txt_pos = ""
     txt_ativprof = ""
     txt_empresaprof = ""
     txt_temapt = ""
     txt_temaen = ""
     box_status = ""
     box_orientador = ""
     box_coorientador = ""
     box_orientadorempresa = ""
     box_empresa = ""
     txt_datainicio = ""
     txt_uc = ""
     box_anoletivodissertacao = ""
     txt_dataapresentacao = ""
     txt_sala = ""
     box_horario = ""
     txt_classificacaon = ""
     box_classificacao = ""
     box_juri = ""
     box_arguente = ""
     txt_obs = ""
     txt_homdc = ""
     txt_homddept = ""
     txt_homocp = ""
     txt_pauta = ""
     txt_pagina = ""
     box_declaracao = ""
     txt_link = ""
   
       foto.Picture = LoadPicture()
       foto.PictureSizeMode = fmPictureSizeModeStretch
     End If
  Next i
End If
  
  
End Sub


Thank you
 

Excel Facts

Excel Wisdom
Using a mouse in Excel is the work equivalent of wearing a lanyard when you first get to college

Forum statistics

Threads
1,223,162
Messages
6,170,431
Members
452,326
Latest member
johnshaji

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top