Olá, sou novo nisso e tenho um duvida, decide construir uma planilha automatizada para controle de contas apagar, para facilitar, preferi faze-la com formulário. A ideia inicial é fazer com que ela receba os dados intercalando por colunas e em seguida execute um loop indicando o valor de cada parcela em cada mês até que se finde. O problema é que a cada novo lançamento ela deveria ir para a próxima linha evitando apagar dados já inseridos nas linhas anteriores, mas isso não está acontecendo. Ela está subscrevendo os dados já lançados. Quem puder, ajudar, fico grato!
Private Sub CommandButton1_Click()
On erro GoTo erro
If TID = "" Or TDESCRIÇÃO = "" Or TENTRADA = "" Or TVALOR = "" Or TQTDPARCELAS = "" Or TVPARCELA = "" Then
MsgBox "Precisa preencher todos os campos!", vbCritical, "SALVAR"
Exit Sub
End If
Dim ID As Double
ID = TID
Dim DataE As Date
DataE = TENDTRADA
DateE = VBA.Format(Date, "dd/mm/yyyy")
Dim Valor As Double
Valor = TVALOR
Dim Qtdparcelas As Double
Qtdparcelas = TQTDPARCELAS
Dim Vparcelas As Double
Vparcelas = TVPARCELA
Dim Executado As Double
Executado = 1
Dim Linha As Double
Linha = 5
Dim Coluna As Double
Coluna = 7
With Planilha1
.Cells(Linha, 2).Value = ID
.Cells(Linha, 3).Value = TDESCRIÇÃO
.Cells(Linha, 4).Value = DataE
.Cells(Linha, 5).Value = Valor
.Cells(Linha, 6).Value = Qtdparcelas
Pergunta
J. Santos
Olá, sou novo nisso e tenho um duvida, decide construir uma planilha automatizada para controle de contas apagar, para facilitar, preferi faze-la com formulário. A ideia inicial é fazer com que ela receba os dados intercalando por colunas e em seguida execute um loop indicando o valor de cada parcela em cada mês até que se finde. O problema é que a cada novo lançamento ela deveria ir para a próxima linha evitando apagar dados já inseridos nas linhas anteriores, mas isso não está acontecendo. Ela está subscrevendo os dados já lançados. Quem puder, ajudar, fico grato!
Private Sub CommandButton1_Click()
On erro GoTo erro
If TID = "" Or TDESCRIÇÃO = "" Or TENTRADA = "" Or TVALOR = "" Or TQTDPARCELAS = "" Or TVPARCELA = "" Then
MsgBox "Precisa preencher todos os campos!", vbCritical, "SALVAR"
Exit Sub
End If
Dim ID As Double
ID = TID
Dim DataE As Date
DataE = TENDTRADA
DateE = VBA.Format(Date, "dd/mm/yyyy")
Dim Valor As Double
Valor = TVALOR
Dim Qtdparcelas As Double
Qtdparcelas = TQTDPARCELAS
Dim Vparcelas As Double
Vparcelas = TVPARCELA
Dim Executado As Double
Executado = 1
Dim Linha As Double
Linha = 5
Dim Coluna As Double
Coluna = 7
With Planilha1
.Cells(Linha, 2).Value = ID
.Cells(Linha, 3).Value = TDESCRIÇÃO
.Cells(Linha, 4).Value = DataE
.Cells(Linha, 5).Value = Valor
.Cells(Linha, 6).Value = Qtdparcelas
Do While Executado <= Qtdparcelas
If Executado > 1 Then
Coluna = Coluna + 1
End If
.Cells(5, Coluna).Value = Vparcelas
Executado = Executado + 1
Loop
End With
Exit Sub
erro:
MsgBox "Erro!", vbCritical, "ERRO"
End Sub
Private Sub CommandButton2_Click()
TID.Text = ""
TDESCRIÇÃO = ""
TENTRADA = ""
TVALOR = ""
TQTDPARCELAS = ""
TVPARCELA = ""
End Sub
Private Sub Label6_Click()
End Sub
Private Sub TDESCRIÇÃO_Change()
TDESCRIÇÃO = VBA.UCase(TDESCRIÇÃO.Text)
End Sub
Private Sub TENTRADA_Exit(ByVal Cancel As MSForms.ReturnBoolean)
End Sub
Private Sub TID_Change()
End Sub
Private Sub TQTDPARCELAS_Change()
On erro GoTo erro
If TVALOR <> "" And TQTDPARCELAS <> "" Then
If TVALOR > 0 And TQTDPARCELAS >= 1 Then
TVPARCELA = CDbl(TVALOR) / CDbl(TQTDPARCELAS)
TVPARCELA = VBA.Format(TVPARCELA, "0.00")
End If
End If
Exit Sub
erro:
End Sub
Private Sub TVALOR_Change()
On erro GoTo erro
If TVALOR <> "" And TQTDPARCELAS <> "" Then
If TVALOR > 0 And TQTDPARCELAS >= 1 Then
TVPARCELA = CDbl(TVALOR) / CDbl(TQTDPARCELAS)
TVPARCELA = VBA.Format(TVPARCELA, "0.00")
End If
End If
Exit Sub
erro:
End Sub
Private Sub TVPARCELA_Change()
End Sub
Private Sub UserForm_Click()
End Sub
Link para o comentário
Compartilhar em outros sites
0 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.