Ir ao conteúdo
  • Cadastre-se

Excel Formulário de Controle de estoque em VBA


Ir à solução Resolvido por Vitor_TEC,

Posts recomendados

Estou fazendo um programa de controle de estoque em VBA.

 

* Quando entro pra registrar uma movimentação de entrada e saída, ele registra corretamente, mas quando vou fazer um segundo ou mais registros ele simplesmente  substitui o primeiro registro...

 

* O produto e o fornecedor não são carregados na planilha. 

image.thumb.png.9d28b2648974fb9f2eaecec3d0de0389.png

 

** Código do botão registrar

Private Sub btnRegistrar_Click()
    Dim dataMovimento As Date
    Dim tipoMov As String
    Dim quantidade As Integer
    Dim linha As Integer
    Dim p1 As Worksheet
   
    Set p1 = Planilha1
    Planilha5.Visible = xlSheetVeryHidden
    
    If txtData.Text = "" Then
        MsgBox "Campo deve ser Preenchido!", vbCritical, "Erro"
        txtData.SetFocus
        Exit Sub
    End If
    
    If Not (IsNumeric(txtQtd.Text)) Then
        MsgBox "Valor indevido", vbCritical, "Erro"
        txtQtd.Text = ""
        txtQtd.SetFocus
        Exit Sub
    End If
    
    
    If OBEntrada.Value = True Then
        tipoMov = "Entrada"
    ElseIf OBSaida.Value = True Then
        tipoMov = "Saída"
    Else
        tipoMov = "Entrada"
    End If
    
    linha = Planilha5.Range("a2").Value
    quantidade = txtQtd
    dataMovimento = txtData
    
    txtData.Text = ""
    txtQtd.Text = ""
    OBEntrada.Value = ""
    OBSaida.Value = ""
    
    p1.cells(linha, 1).Value = dataMovimento
    p1.cells(linha, 4).Value = tipoMov
    p1.cells(linha, 5).Value = quantidade
    
    Columns.AutoFit
    
    MsgBox "Cadastrado com sucesso!", vbInformation, "Sucesso"
    
    linha = linha + 1
    Planilha5.Range("a2").Value = 5
    
    
End Sub

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Faça a verificação da ultima linha cadastrada antes de efetuar outro cadastro

' Verifica se a ultima célula tem alguma coisa

if(isnotEmpyte("célula do ultimo cadastro")) then

                  .... código para efetuar o cadastro

'se tiver pula para linha de baixo

Else

            ActiveCell.Offset(1,0).Activate

                  .... Código para efetuar o cadastro

end if

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...