Página 1 de 1

form não salvando informações em planilha

Enviado: 28 Mar 2018 às 08:46
por AMORIM123
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)

Código: Selecionar todos
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
Em anexo a planilha"

Re: form não salvando informações em planilha

Enviado: 28 Mar 2018 às 11:01
por Basole
Experimente substituir

Esta linha:
Código: Selecionar todos
busca = Trim$(frm.txt_periodo.Text) & Trim$(frm.txt_empresa.Text)
Por esta:
Código: Selecionar todos
busca = Cells(linha, 2) & Cells(linha, 3)

form não salvando informações em planilha

Enviado: 28 Mar 2018 às 14:25
por AMORIM123
E ai BASOLE meu amigo eu tava revisando o cód cheguei a essa conclusão...pessoal do Reinaldo srobles so tómas vasquez também me deram mesma opinião, fiz os ajustes e deu show...muito obrigado meu amigo!