Estou com um problema aqui numa planilha que estamos desenvolvendo...
Tenho um arquivo, que contém, basicamente um banco de dados e dois formulário, sendo um de LANÇAMENTOS e outro para ALTERAÇÕES.
Os lançamentos vêm funcionando corretamente. Entretanto, há vários lançamentos com o mesmo HISTÓRICO, ou seja, mesmo nome o que aparentemente vem trazendo o erro que não conseguimos solucionar.
O formulário de alteração tem os seguintes campos: lançamentos, histórico do movimento, valor de crédito, de débito, data e grupo. Quando selecionamos qualquer um dos lançamentos que têm o mesmo histórico, o GRUPO do primeiro lançamento (dentre os iguais) se altera, ficando igual ao escolhido (seja o segundo, o terceiro, quarto...da lista de lançamentos iguais).
Disponibilizo abaixo as linhas de comando escritas para efetuar as ALTERAÇÕES (estão todas no formulário de alteração de um dos meses) e aguardo alguma sugestão!
Private linha As Long
Private Sub CmdAlterar_Click()
'Altera o valor do movimento
Dim ValorCr As String, Faz As String, ValorDb As String, Hist As String, Data As Date
Pergunta
epottag
Bom dia pessoal!
Estou com um problema aqui numa planilha que estamos desenvolvendo...
Tenho um arquivo, que contém, basicamente um banco de dados e dois formulário, sendo um de LANÇAMENTOS e outro para ALTERAÇÕES.
Os lançamentos vêm funcionando corretamente. Entretanto, há vários lançamentos com o mesmo HISTÓRICO, ou seja, mesmo nome o que aparentemente vem trazendo o erro que não conseguimos solucionar.
O formulário de alteração tem os seguintes campos: lançamentos, histórico do movimento, valor de crédito, de débito, data e grupo. Quando selecionamos qualquer um dos lançamentos que têm o mesmo histórico, o GRUPO do primeiro lançamento (dentre os iguais) se altera, ficando igual ao escolhido (seja o segundo, o terceiro, quarto...da lista de lançamentos iguais).
Disponibilizo abaixo as linhas de comando escritas para efetuar as ALTERAÇÕES (estão todas no formulário de alteração de um dos meses) e aguardo alguma sugestão!
Private linha As Long
Private Sub CmdAlterar_Click()
'Altera o valor do movimento
Dim ValorCr As String, Faz As String, ValorDb As String, Hist As String, Data As Date
ValorCr = Me.TxtValorCr.Value
ValorDb = Me.TxtValorDb.Value
Data = Me.TxtData.Value
Hist = Me.TxtHist.Value
Faz = Me.TxtFaz.Value
Range("ValorCrMar06").Item(linha) = ValorCr
Range("ValorDbMar06").Item(linha) = ValorDb
Range("DataMar06").Item(linha) = Data
Range("LancMar06").Item(linha) = Hist
Range("FazMar06").Item(linha) = Faz
'Abre a planilha
ActiveWorkbook.Unprotect "secreto"
Sheets("JABMar06").Visible = True
Sheets("JABMar06").Select
'Classifica dados por ordem de data
Range("A2:G700").Sort key1:=Range("A2"), order1:=xlAscending, header:=xlGuess
'Fecha a planilha ativa e protege a pasta de trabalho
ActiveSheet.Visible = False
ActiveWorkbook.Protect "secreto"
'Redefine o formulário
Me.LstAltMar06.ListIndex = -1
Me.TxtValorCr.Text = Empty
Me.TxtValorDb.Text = Empty
Me.TxtData.Text = Empty
Me.TxtHist.Text = Empty
Me.TxtFaz.Text = Empty
Me.LblLançamento.Enabled = False
Me.LblValorCr.Enabled = False
Me.LblValorDb.Enabled = False
Me.LblData.Enabled = False
Me.LblHist.Enabled = False
Me.LblFaz.Enabled = False
Me.CmdAlterar.Enabled = True
Me.CmdFechar.Enabled = True
End Sub
Private Sub CmdFechar_Click()
Unload Me
End Sub
Private Sub LstAltMar06_Click()
'Define Linha como a posição do movimento selecionada
linha = Me.LstAltMar06.ListIndex + 1
'Habilita os controles desabilitados
Me.CmdAlterar.Enabled = True
Me.CmdFechar.Enabled = True
Me.TxtValorCr.Enabled = True
Me.TxtValorDb.Enabled = True
Me.TxtData.Enabled = True
Me.TxtHist.Enabled = True
Me.TxtFaz.Enabled = True
'Mostra na caixa de texto o valor do movimento selecionado
Me.TxtValorCr = Range("ValorCrMar06").Item(linha)
Me.TxtValorDb = Range("ValorDbMar06").Item(linha)
Me.TxtData = Range("DataMar06").Item(linha)
Me.TxtHist = Range("LancMar06").Item(linha)
Me.TxtFaz = Range("FazMar06").Item(linha)
End Sub
Desde já agradeço e aguardo sugestões!
Abraço a todos
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.