Ir ao conteúdo

Excel Formulário de Controle de estoque em VBA


Ir à solução Resolvido por Vitor_TEC,

Posts recomendados

Postado

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

 

  • Solução
Postado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!