Página 1 de 1

MACRO PARA GRAVAR COM ENTER

Enviado: 01 Jan 2022 às 11:59
por VENTURA1268
Bom dia, tenho uma planilha em que eu digito o
Cód
Técnico
QT
e a seleção pula para data, o que eu gostaria era que após dar o enter já faz a gravação sem ter que clicar em gravar .

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 01 Jan 2022 às 18:00
por osvaldomp
Olá, @VENTURA1268 .

Me parece que a sua planilha RELATORIO é utilizada como Banco de Dados. O usual nesse caso é adicionar os novos itens na primeira linha vazia, porém o seu código atual adiciona sempre na linha 2. Há alguma razão para isso? No novo código podemos colocar os novos itens na primeira linha vazia?

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 01 Jan 2022 às 18:41
por VENTURA1268
sim, sem problema

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 01 Jan 2022 às 20:27
por osvaldomp
Instale uma cópia do código abaixo no módulo da planilha ENTRADA.
Para acessar o módulo clique com o direito na guia daquela planilha e escolha "Exibir Código".

Funcionamento - após o usuário preencher manualmente na planilha ENTRADA as células F3, F5 e F6, em qualquer ordem, o código irá replicar os dados na planilha RELATORIO e em seguida limpará F3, F5 e F6.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim rng
  If Application.CountA(Range("F3,F5:F6")) < 3 Then Exit Sub
  rng = Array([F4], [G5], [F6], [F7])
  Sheets("RELATORIO").Cells(Rows.Count, 1).End(3)(2).Resize(, 4).Value = rng
  Range("F3,F5:F6") = ""
End Sub

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 02 Jan 2022 às 09:07
por VENTURA1268
Osvaldo perfeito muito bom, muito obrigado e um feliz ano novo .
só uma observação se não for pedir muito na aba relatorio tem como aparecer do mais recente para o mais antigo.
MAS ASSIM ESTA OTIMO MUIIITO OBRIGADO

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 02 Jan 2022 às 09:58
por osvaldomp
Olá, @VENTURA1268 .

Obrigado e Feliz Ano Novo pra você também. :)

No código abaixo acrescentei o comando para ordenar pela coluna D.
Coloque-o no lugar do anterior.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim rng
  If Application.CountA(Range("F3,F5:F6")) < 3 Then Exit Sub
  rng = Array([F4], [G5], [F6], [F7])
  With Sheets("RELATORIO")
   .Cells(Rows.Count, 1).End(3)(2).Resize(, 4).Value = rng
   .Range("A2:D" & .Cells(Rows.Count, 1).End(3).Row).Sort Key1:=.[D2], Order1:=xlDescending
  End With
  Range("F3,F5:F6") = ""
End Sub

Re: MACRO PARA GRAVAR COM ENTER

Enviado: 02 Jan 2022 às 17:43
por VENTURA1268
Valeu, muito obrigado e tudo de bom