Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por VENTURA1268
#68487
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 .
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#68489
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?
Por osvaldomp
#68491
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
JCabral agradeceu por isso
Por VENTURA1268
#68497
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
Por osvaldomp
#68498
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
JCabral agradeceu por isso
Buscar Dados em outra planilha

Fiz uma atualização mostrando o camp[…]

Boa tarde! Solicito a sua ajuda, de acordo com o […]

Controles ActiveX Excel Mac

Pessoal, seguinte: Meu sistema não roda no[…]

Olá, sou novo aqui no fórum, tenho u[…]

Boa tarde. Estou precisando automatizar uma planil[…]

Em J52 ~~~&gt; =ÍNDICE(C10:C40;CORRES[…]

Salvar PDF sem substituir o arquivo

Boa tarde pessoal, Queria uma ajuda para fazer um[…]

Assiduidade

Bom dia a tod@s, tenho uma tabela no formato que s[…]