Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
#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)

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"
Você não está autorizado a ver ou baixar esse anexo.
#31472
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!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord