Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Correção de código
-
- Colaborador
- Mensagens: 33
- Registrado em: Sáb Dez 17, 2016 9:26 pm
Correção de código
Boa tarde.
Uso este código para salvar alterações na planilha, mas não funciona para as alterações de data.
Private Sub CmdPlan7_Click()
Lin = Sheets("Plan7").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If Lin < 2 Then Lin = 2
Application.ScreenUpdating = False
Sheets("Plan7").Activate
For i = 2 To Lin
If Range("A" & i).Value = CDate(TxtData.Text) Then
Cells(i, 1).Value = CDate(TxtData.Text)
Cells(i, 2).Value = Format(TxtValor.Text, "R$ 0.00#,##")
Cells(i, 3).Value = TxtDescrição.Text
Cells(i, 4).Value = TxtObservação.Text
Exit For
End If
Next
TxtData.Text = ""
TxtValor.Text = ""
TxtDescrição.Text = ""
TxtObservação.Text = ""
Application.ScreenUpdating = True
Call BtnPlan7_Click
End Sub
Uso este código para salvar alterações na planilha, mas não funciona para as alterações de data.
Private Sub CmdPlan7_Click()
Lin = Sheets("Plan7").Cells(Cells.Rows.Count, 1).End(xlUp).Row
If Lin < 2 Then Lin = 2
Application.ScreenUpdating = False
Sheets("Plan7").Activate
For i = 2 To Lin
If Range("A" & i).Value = CDate(TxtData.Text) Then
Cells(i, 1).Value = CDate(TxtData.Text)
Cells(i, 2).Value = Format(TxtValor.Text, "R$ 0.00#,##")
Cells(i, 3).Value = TxtDescrição.Text
Cells(i, 4).Value = TxtObservação.Text
Exit For
End If
Next
TxtData.Text = ""
TxtValor.Text = ""
TxtDescrição.Text = ""
TxtObservação.Text = ""
Application.ScreenUpdating = True
Call BtnPlan7_Click
End Sub
- Anexos
-
- Modelo.zip
- (46 KiB) Baixado 200 vezes
-
- Manda bem
- Mensagens: 107
- Registrado em: Qua Nov 29, 2017 11:51 am
- Localização: Fortaleza - CE
Re: Correção de código
walber luiz,
Boa tarde!
Não entendi a lógica da sua programação... Como você quer que a data seja alterada se a primeira linha de comando dentro do for faz uma verificação se as datas são iguais? Ou seja, se as datas forem diferentes (para poder ser alterada), nunca que vai entrar dentro do IF. Concorda?
Boa tarde!
Não entendi a lógica da sua programação... Como você quer que a data seja alterada se a primeira linha de comando dentro do for faz uma verificação se as datas são iguais? Ou seja, se as datas forem diferentes (para poder ser alterada), nunca que vai entrar dentro do IF. Concorda?
Código: Selecionar todos
If Range("A" & i).Value = CDate(TxtData.Text) Then
-
- Colaborador
- Mensagens: 33
- Registrado em: Sáb Dez 17, 2016 9:26 pm
Re: Correção de código
Boa tarde.
Não entendo muito sobre isso, mas como eu posso fazer com que a data que estiver na textbox seja modificada?
Não entendo muito sobre isso, mas como eu posso fazer com que a data que estiver na textbox seja modificada?
-
- Manda bem
- Mensagens: 107
- Registrado em: Qua Nov 29, 2017 11:51 am
- Localização: Fortaleza - CE
Re: Correção de código
walber luiz,
Boa tarde!
Veja se é assim.
Boa tarde!
Veja se é assim.
- Anexos
-
- Modelo.zip
- (25.05 KiB) Baixado 212 vezes
-
- Colaborador
- Mensagens: 33
- Registrado em: Sáb Dez 17, 2016 9:26 pm
Re: Correção de código
Boa noite
O código quando eu coloquei na minha planilha não funcionou, em vez dele substituir a linha correspondente,
ele faz é criar uma nova linha com a alteração.
Estou anexando a planilha com os valores retirado da original, que quando coloquei os valores e fiço a alteração apresentou o mesmo problema.
O código quando eu coloquei na minha planilha não funcionou, em vez dele substituir a linha correspondente,
ele faz é criar uma nova linha com a alteração.
Estou anexando a planilha com os valores retirado da original, que quando coloquei os valores e fiço a alteração apresentou o mesmo problema.
- Anexos
-
- Modelo.zip
- (24.43 KiB) Baixado 195 vezes
-
- Manda bem
- Mensagens: 107
- Registrado em: Qua Nov 29, 2017 11:51 am
- Localização: Fortaleza - CE
Re: Correção de código
walber luiz,
Boa tarde!
Você tem toda razão amigo! Eu havia entendido de forma equivocada. Creio que agora deva estar certo.
Veja se é assim.
Boa tarde!
Você tem toda razão amigo! Eu havia entendido de forma equivocada. Creio que agora deva estar certo.
Veja se é assim.
- Anexos
-
- Modelo.zip
- (27.93 KiB) Baixado 199 vezes
-
- Colaborador
- Mensagens: 33
- Registrado em: Sáb Dez 17, 2016 9:26 pm
Re: Correção de código
Boa noite Wagner
Estou com dificuldades em adaptar o seu código no meu projeto, porque uso varias planilhas no mesmo formulário, com este código.
Estou com dificuldades em adaptar o seu código no meu projeto, porque uso varias planilhas no mesmo formulário, com este código.
Código: Selecionar todos
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim i As Long
Dim UltimaLinha As Long
TxtData = ListView1.SelectedItem.ListSubItems.Item(1)
TxtValor = ListView1.SelectedItem.ListSubItems.Item(2)
TxtDescrição = ListView1.SelectedItem.ListSubItems.Item(3)
UltimaLinha = Sheets("Plan7").Cells(Cells.Rows.Count, "XFD").End(xlUp).Row
If UltimaLinha < 1 Then UltimaLinha = 1
For i = 1 To UltimaLinha
If TxtData.Text = Sheets("Plan7").Range("XFD" & i).Value Then
Data_A_Procurar = CDate(Sheets("Plan7").Range("XFD" & i).Value)
Exit For
End If
Next
End Sub
- Anexos
-
- MODELO.zip
- (84 KiB) Baixado 184 vezes
-
- Manda bem
- Mensagens: 107
- Registrado em: Qua Nov 29, 2017 11:51 am
- Localização: Fortaleza - CE
Re: Correção de código
Ok. Fica difícil, nesse caso, ajudar. Vou tentar lhe explicar o que fiz e você verifica o que pode fazer por aí pois não dá para ajudar à distância.
Para poder alterar a data (como você pediu inicialmente) tive que utilizar de um artifício. Na hora em que o usuário seleciona um item do ListView e clica no botão correspondente a Planilha (no exemplo que você havia enviado era a PLan7), automaticamente os dados correspondentes são carregados para as caixas de texto. Nesse momento, fiz a inserção automática de todas as datas que são carregadas no ListView para a última coluna da Plan7 (coluna XFD).
Quando o usuário seleciona a caixa de texto da data que será alterada, eu gravo isso em uma variável gloval chamada Data_A_Alterar que depois é checada quando o usuário clica no botão para fazer a alteração.
Para poder alterar a data (como você pediu inicialmente) tive que utilizar de um artifício. Na hora em que o usuário seleciona um item do ListView e clica no botão correspondente a Planilha (no exemplo que você havia enviado era a PLan7), automaticamente os dados correspondentes são carregados para as caixas de texto. Nesse momento, fiz a inserção automática de todas as datas que são carregadas no ListView para a última coluna da Plan7 (coluna XFD).
Quando o usuário seleciona a caixa de texto da data que será alterada, eu gravo isso em uma variável gloval chamada Data_A_Alterar que depois é checada quando o usuário clica no botão para fazer a alteração.