Na aba "Registro de Entrada" insere-se os dados, e após executar a macro "RegistrarEntrada",
os dados são copiados pras abas "Estoque", "Entradas e Saídas" e "Inventário".
A aba "Estoque" mostra quantidades atuais dos produtos, separados por tamanhos (P, M, G, 34, 36, 38, 40 e U).
A aba "Entradas e Saídas" exibe todas os registros de entrada e todos os registros de saída existentes.
A aba "Inventário" exibe todos os produtos que deram entrada.
O problema que tenho encontrado é unicamente na hora de registrar uma saída, via macro "Registrar Saída",
pois ao ser executada, tal macro deve ir ao "Estoque" e descontar as quantidades que estão sendo vendidas das unidades
que se encontram em estoque. Ao momento em que as quantidades chegarem em 0 ou em VAZIO em todos os tamanhos,
a linha será excluída.
- Pontos importantes:
1° na aba "Registro de Entrada", as células A7, B7 e O7 saõ travadas - de resto preenche-se manualmente;
2° na aba "Registro de Saída", as células B7, D7 e O7 são travadas - de resto preenche-se manualmente.
Código de Registro de Saída atual:
Sub RegistrarSaída()
Application.ScreenUpdating = False
' Copiar Informações Inseridas
Range("A7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
' Garantir que a célula selecionada estará abaixo da última preenchida
Range("A1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
' Garantir que as células com fórmula sejam copiadas e coladas de maneira correta
Sheets("Registro de Saída").Select
Range("B7:D7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("B1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Registro de Saída").Select
Range("E7:N7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("E1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
' Limpar validação de dados
Sheets("Entradas e Saídas").Select
Range("P5").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
Range("A5").Select
End With
Sheets("Registro de Saída").Select
' Mostrar mensagem que informa que processo foi concluido com sucesso
MsgBox "Registro concluído!", vbOKOnly, "Processo de Registro"
Sheets("Registro de Saída").Select
Pergunta
Pedro Peixoto
Na aba "Registro de Entrada" insere-se os dados, e após executar a macro "RegistrarEntrada",
os dados são copiados pras abas "Estoque", "Entradas e Saídas" e "Inventário".
A aba "Estoque" mostra quantidades atuais dos produtos, separados por tamanhos (P, M, G, 34, 36, 38, 40 e U).
A aba "Entradas e Saídas" exibe todas os registros de entrada e todos os registros de saída existentes.
A aba "Inventário" exibe todos os produtos que deram entrada.
O problema que tenho encontrado é unicamente na hora de registrar uma saída, via macro "Registrar Saída",
pois ao ser executada, tal macro deve ir ao "Estoque" e descontar as quantidades que estão sendo vendidas das unidades
que se encontram em estoque. Ao momento em que as quantidades chegarem em 0 ou em VAZIO em todos os tamanhos,
a linha será excluída.
- Pontos importantes:
1° na aba "Registro de Entrada", as células A7, B7 e O7 saõ travadas - de resto preenche-se manualmente;
2° na aba "Registro de Saída", as células B7, D7 e O7 são travadas - de resto preenche-se manualmente.
Código de Registro de Saída atual:
Sub RegistrarSaída()
Application.ScreenUpdating = False
' Copiar Informações Inseridas
Range("A7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
' Garantir que a célula selecionada estará abaixo da última preenchida
Range("A1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
' Garantir que as células com fórmula sejam copiadas e coladas de maneira correta
Sheets("Registro de Saída").Select
Range("B7:D7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("B1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Registro de Saída").Select
Range("E7:N7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("E1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Registro de Saída").Select
Range("O7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("O1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Registro de Saída").Select
Range("P7").Select
Selection.Copy
Sheets("Entradas e Saídas").Select
Range("P1048576").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
' Limpar informações registradas no cadastro
Sheets("Registro de Saída").Select
Range("A7").Select
Range("A7").Activate
Selection.ClearContents
Range("C7").Select
Range("C7").Activate
Selection.ClearContents
Range("E7:N7").Select
Range("E7").Activate
Selection.ClearContents
Range("P7").Select
Range("P7").Activate
Selection.ClearContents
' Limpar validação de dados
Sheets("Entradas e Saídas").Select
Range("P5").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
Range("A5").Select
End With
Sheets("Registro de Saída").Select
' Mostrar mensagem que informa que processo foi concluido com sucesso
MsgBox "Registro concluído!", vbOKOnly, "Processo de Registro"
Sheets("Registro de Saída").Select
Application.ScreenUpdating = True
End Sub
Editado por Pedro Peixoto
Acrescentar informações
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.