- 28 Mar 2018 às 08:46
#31461
Bom dia!
Meus amigos desde já sou-lhes muito grato por ceder este tempo para analisar esta questão:
Fiz o cód. abaixo para que seja feito o salvamento das informações inseridas no "frm_estoque", porém antes de salvar são requeridas algumas validações: ver se já há algum "periodo & empresa" cadastrado, havendo "periodo & empresa" já cadastrado é exibido para o usuário a msgbox: "informando que já uma cadastro com esses dados, deseja sobrescrer?" se vbyes então ele salva as novas informações em cima do registro que já havia, senão ele sai da sub.
se tento salvar um 1º registro, por exemplo periodo: 31/12/2018 e empresa: xxx as informações são salvas normalmente, porém se tento salvar um 2º registro, por exemplo periodo: 31/12/2017e empresa: yyy é informado que já há um registro com esses dados (a msgbox informada anteriormente no início do post) ...agora se tento salvar periodo: 31/06/2018 e empresa: zzz da erro em tempo de execução '13': tipo incompatíveis, na sequência peço pra depurar e é grifado em amarelo: periodo = Trim$(frm.txt_periodo.Text)
Meus amigos desde já sou-lhes muito grato por ceder este tempo para analisar esta questão:
Fiz o cód. abaixo para que seja feito o salvamento das informações inseridas no "frm_estoque", porém antes de salvar são requeridas algumas validações: ver se já há algum "periodo & empresa" cadastrado, havendo "periodo & empresa" já cadastrado é exibido para o usuário a msgbox: "informando que já uma cadastro com esses dados, deseja sobrescrer?" se vbyes então ele salva as novas informações em cima do registro que já havia, senão ele sai da sub.
se tento salvar um 1º registro, por exemplo periodo: 31/12/2018 e empresa: xxx as informações são salvas normalmente, porém se tento salvar um 2º registro, por exemplo periodo: 31/12/2017e empresa: yyy é informado que já há um registro com esses dados (a msgbox informada anteriormente no início do post) ...agora se tento salvar periodo: 31/06/2018 e empresa: zzz da erro em tempo de execução '13': tipo incompatíveis, na sequência peço pra depurar e é grifado em amarelo: periodo = Trim$(frm.txt_periodo.Text)
Código: Selecionar todos
Em anexo a planilha"Private Sub btn_calcular_Click()
Dim plan As Worksheet
Dim quantidade As Long
Dim frm As frm_estoque
Dim empresa As String
Dim periodo As Date
Dim ei As Currency
Dim compras As Currency
Dim ef As Currency
Dim vendas As Currency
Dim linha As Integer
Dim busca As String
Dim novoRegistro As Boolean
Set plan = ThisWorkbook.Sheets("Dados")
Set frm = frm_estoque
quantidade = plan.Cells(Rows.Count, 1).End(xlUp).Row + 1
linha = 2
periodo = Trim$(frm.txt_periodo.Text)
empresa = Trim$(frm.txt_empresa.Text)
ei = frm.txt_ei.Text
compras = frm.txt_compras.Text
ef = frm.txt_ef.Text
vendas = frm.txt_vendas.Text
novoRegistro = True
plan.Activate
plan.Range("A2").Select
Do While Cells(linha, 2) & Cells(linha, 3) <> ""
busca = Trim$(frm.txt_periodo.Text) & Trim$(frm.txt_empresa.Text)
If busca = periodo & empresa Then
If MsgBox("Empresa " & empresa & " já cadastrado para o " & periodo & " , deseja sobrescreve-lo?!", vbYesNo) = vbYes Then
Cells(linha, 2) = periodo
Cells(linha, 3) = empresa
Cells(linha, 4) = ei
Cells(linha, 5) = compras
Cells(linha, 6) = ef
Cells(linha, 7) = vendas
novoRegistro = False
Else
novoRegistro = False
Exit Sub
End If
End If
linha = linha + 1
Loop
If novoRegistro = True Then
Cells(quantidade, 2) = periodo
Cells(quantidade, 3) = empresa
Cells(quantidade, 4) = ei
Cells(quantidade, 5) = compras
Cells(quantidade, 6) = ef
Cells(quantidade, 7) = vendas
End If
If Me.txt_periodo = "" Then
MsgBox ("Preenchimento imconpleto! Insira Período"), vbExclamation, aviso
Me.txt_periodo.SetFocus
Exit Sub
ElseIf Me.txt_empresa = "" Then
MsgBox ("Preenchimento imconpleto! Insira Empresa"), vbExclamation, aviso
Me.txt_empresa.SetFocus
Exit Sub
ElseIf Me.txt_ei = "" Then
MsgBox ("Preenchimento imconpleto! Insira EI"), vbExclamation, aviso
Me.txt_ei.SetFocus
Exit Sub
ElseIf Me.txt_compras = "" Then
MsgBox ("Preenchimento imconpleto! Insira Compras"), vbExclamation, aviso
Me.txt_compras.SetFocus
Exit Sub
ElseIf Me.txt_ef = "" Then
MsgBox ("Preenchimento imconpleto! Insira EF"), vbExclamation, aviso
Me.txt_ef.SetFocus
Exit Sub
ElseIf Me.txt_vendas = "" Then
MsgBox ("Preenchimento imconpleto! Insira Vendas"), vbExclamation, aviso
Me.txt_vendas.SetFocus
Exit Sub
End If
If MsgBox("Dados cadastrados com sucesso! Deseja realizar um novo registro?!", vbYesNo) = vbYes Then
Call UserForm_Initialize
Exit Sub
Else
Unload Me
End If
End Sub
Você não está autorizado a ver ou baixar esse anexo.
Erros valem mais que acertos quando é um acerto no final 
