- 01 Mai 2021 às 13:38
#64294
Galera preciso de uma ajuda tenho uma planilha para controlar as compras da minha loja criei aos poucos com algumas coisas que vi no fóruns e com ajuda de vocês aqui e ela estava funcionando mais agora quando clico no botão para cadastrar um novo pagamento ele gera um erro e ate que as informações são lançadas na planilha porem ele fecha a useform
Esse é o erro

eu acho que é alguma coisa na parcela 2 mais não consegui resolver, alguém poderia me ajudar... segue a baixa o vba para ajudar
Esse é o erro

eu acho que é alguma coisa na parcela 2 mais não consegui resolver, alguém poderia me ajudar... segue a baixa o vba para ajudar
Código: Selecionar todos
Private Sub CommandButton1_Click()
'Desativar atualização de ecrã
Application.ScreenUpdating = False
'Ativar a primeira planilha
ThisWorkbook.Worksheets("Vencimentos").Activate
'Procurar a primeira linha vazia
ultimaLinha = ThisWorkbook.Worksheets("Vencimentos").Cells(Rows.Count, 1).End(xlUp).Row
ultimaLinha = ultimaLinha + 1
'Carregar os dados digitados nas caixas de texto para a planilha
With ThisWorkbook.Worksheets("Vencimentos")
Cells(ultimaLinha, 1).Value = nf.Value
Cells(ultimaLinha, 2).Value = ComboBox2.Value
Cells(ultimaLinha, 3).Value = ComboBox1.Value
Cells(ultimaLinha, 4).Value = Format(data.Value, "DD/MM/YYYY")
Cells(ultimaLinha, 5).Value = CDbl(txValor.Value)
Cells(ultimaLinha, 6).Value = txParcela.Value
Cells(ultimaLinha, 7).Value = parcela1.Value
Cells(ultimaLinha, 9).Value = parcela2.Value
Cells(ultimaLinha, 11).Value = parcela3.Value
Cells(ultimaLinha, 13).Value = parcela4.Value
Cells(ultimaLinha, 15).Value = parcela55.Value
Cells(ultimaLinha, 17).Value = parcela6.Value
Cells(ultimaLinha, 19).Value = parcela7.Value
Cells(ultimaLinha, 21).Value = parcela8.Value
Cells(ultimaLinha, 8).Value = CDbl(Valor1.Value)
Cells(ultimaLinha, 10).Value = CDbl(Valor2.Value)
Cells(ultimaLinha, 12).Value = CDbl(Valor3.Value)
Cells(ultimaLinha, 14).Value = CDbl(Valor4.Value)
Cells(ultimaLinha, 16).Value = CDbl(Valor5.Value)
Cells(ultimaLinha, 18).Value = CDbl(Valor6.Value)
Cells(ultimaLinha, 20).Value = CDbl(Valor7.Value)
Cells(ultimaLinha, 22).Value = CDbl(Valor8.Value)
End With
'Limpar as caixas de texto
txValor.Value = Empty
nf.Value = Empty
ComboBox1.Value = Empty
ComboBox2.Value = Empty
data.Value = Empty
txParcela.Value = Empty
parcela1.Value = Empty
parcela2.Value = Empty
parcela3.Value = Empty
parcela4.Value = Empty
parcela55.Value = Empty
parcela6.Value = Empty
parcela7.Value = Empty
parcela8.Value = Empty
Valor1.Value = Empty
Valor2.Value = Empty
Valor3.Value = Empty
Valor4.Value = Empty
Valor5.Value = Empty
Valor6.Value = Empty
Valor7.Value = Empty
Valor8.Value = Empty
DATA1.Value = Empty
DATA2.Value = Empty
DATA3.Value = Empty
DATA4.Value = Empty
DATA5.Value = Empty
DATA6.Value = Empty
DATA7.Value = Empty
DATA8.Value = Empty
'Colocar o foco na primeira caixa de texto
nf.SetFocus
'Ativar atualização de ecrã
Application.ScreenUpdating = True
'Mensagem de confirmação
MsgBox "Cadastrado com sucesso!", vbOKOnly
End Sub
Private Sub DATA1_Change()
Call somardias1
End Sub
Private Sub DATA2_Change()
Call somardias2
End Sub
Private Sub DATA3_Change()
Call somardias3
End Sub
Private Sub DATA4_Change()
Call somardias4
End Sub
Private Sub DATA5_Change()
Call somardias5
End Sub
Private Sub DATA6_Change()
Call somardias6
End Sub
Private Sub DATA7_Change()
Call somardias7
End Sub
Private Sub DATA8_Change()
Call somardias8
End Sub
Private Sub faturamento_Change()
Call somarfaturamento
End Sub
Private Sub parcela1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela1, "00000000")
DATA1 = D2 - D1
End Sub
Private Sub parcela2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela2, "00000000")
DATA2 = D2 - D1
End Sub
Private Sub parcela3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela3, "00000000")
DATA3 = D2 - D1
End Sub
Private Sub parcela4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela4, "00000000")
DATA4 = D2 - D1
End Sub
Private Sub parcela55_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela55, "00000000")
DATA5 = D2 - D1
End Sub
Private Sub parcela6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela6, "00000000")
DATA6 = D2 - D1
End Sub
Private Sub parcela7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela7, "000000")
DATA7 = D2 - D1
End Sub
Private Sub parcela8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim D1, D2 As Double
D1 = Format(data, "000000")
D2 = Format(parcela8, "000000")
DATA8 = D2 - D1
End Sub
'=================================================================================================================================
'Instrução para efetuar a divisão do valor total frente a quantidade de parcelas
Private Sub txparcela_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim A As Double, B As Integer
Dim Valor As Double, x As Integer
A = txValor.Value
B = txParcela.Value
Valorparc = VBA.Round(CDbl(A) / CDbl(B), 2)
For x = 1 To B
Controls.Item("valor" & x).Text = Valorparc
Controls.Item("valor" & x).Text = Format(Controls.Item("valor" & x), "R$ #,##0.00")
Next
End Sub
'==================================================================================================================================
'Instrução para exibir os valores como moeda
'Private Sub valor1_Change()
' valor1.Value = Format(valor1, "R$ #,##0.00")
'End Sub
Private Sub txvalor_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txValor.Value = Format(txValor, "R$ #,##0.00")
End Sub
'Instrução para delimitar a quantidade de caracteres no textbox data
Private Sub data_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Limita a Qde de caracteres
data.MaxLength = 10
'para permitir que apenas números sejam digitados
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub
'==================================================================================================================================
'Instrução para inserir as barras no textbox data
Private Sub data_Change()
'Formata : DD/MM/AAAA
If Len(data) = 2 Or Len(data) = 5 Then
data.Text = data.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela1_Change()
'Formata : DD/MM/AAAA
If Len(parcela1) = 2 Or Len(parcela1) = 5 Then
parcela1.Text = parcela1.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela2_Change()
'Formata : DD/MM/AAAA
If Len(parcela2) = 2 Or Len(parcela2) = 5 Then
parcela2.Text = parcela2.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela3_Change()
'Formata : DD/MM/AAAA
If Len(parcela3) = 2 Or Len(parcela3) = 5 Then
parcela3.Text = parcela3.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela4_Change()
'Formata : DD/MM/AAAA
If Len(parcela4) = 2 Or Len(parcela4) = 5 Then
parcela4.Text = parcela4.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela55_Change()
'Formata : DD/MM/AAAA
If Len(parcela55) = 2 Or Len(parcela55) = 5 Then
parcela55.Text = parcela55.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela6_Change()
'Formata : DD/MM/AAAA
If Len(parcela6) = 2 Or Len(parcela6) = 5 Then
parcela6.Text = parcela6.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela7_Change()
'Formata : DD/MM/AAAA
If Len(parcela7) = 2 Or Len(parcela7) = 5 Then
parcela7.Text = parcela7.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub parcela8_Change()
'Formata : DD/MM/AAAA
If Len(parcela8) = 2 Or Len(parcela8) = 5 Then
parcela8.Text = parcela8.Text & "/"
SendKeys "{End}", True
End If
End Sub
Private Sub somardias1()
If IsDate(Me.data) And IsNumeric(Me.DATA1) Then
Me.parcela1 = DateAdd("d", Me.DATA1, Me.data)
End If
End Sub
Private Sub somardias2()
If IsDate(Me.data) And IsNumeric(Me.DATA2) Then
Me.parcela2 = DateAdd("d", Me.DATA2, Me.data)
End If
End Sub
Private Sub somardias3()
If IsDate(Me.data) And IsNumeric(Me.DATA3) Then
Me.parcela3 = DateAdd("d", Me.DATA3, Me.data)
End If
End Sub
Private Sub somardias4()
If IsDate(Me.data) And IsNumeric(Me.DATA4) Then
Me.parcela4 = DateAdd("d", Me.DATA4, Me.data)
End If
End Sub
Private Sub somardias5()
If IsDate(Me.data) And IsNumeric(Me.DATA5) Then
Me.parcela55 = DateAdd("d", Me.DATA5, Me.data)
End If
End Sub
Private Sub somardias6()
If IsDate(Me.data) And IsNumeric(Me.DATA6) Then
Me.parcela6 = DateAdd("d", Me.DATA6, Me.data)
End If
End Sub
Private Sub somardias7()
If IsDate(Me.data) And IsNumeric(Me.DATA7) Then
Me.parcela7 = DateAdd("d", Me.DATA7, Me.data)
End If
End Sub
Private Sub somardias8()
If IsDate(Me.data) And IsNumeric(Me.DATA8) Then
Me.parcela8 = DateAdd("d", Me.DATA8, Me.data)
End If
End Sub
Private Sub somarfaturamento()
If IsDate(Me.data) And IsNumeric(Me.faturamento) Then
Me.data = DateAdd("d", Me.faturamento, Me.data)
End If
End Sub
Private Sub UserForm_Initialize()
data = Date
End Sub
Você não está autorizado a ver ou baixar esse anexo.