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

Olá, @milastrix . Segue outra vers&ati[…]

Boa tarde! Tenho uma planilha com alguns links pa[…]

Boa tarde Osvaldo Boa pergunta, julgo que fica ma[…]

Boa tarde, conseguem ajudar, por favor? Em uma Ba[…]

Olá, @ponchelli . Coloque os hor&aacut[…]

Sabendo que um produto teve 15% de reajuste, depoi[…]

EXCEL ARREDONDA O FINALDO NÚMERO

comexdtv , Bom dia. Na realidade não se t[…]

... dá um erro &quot;nome&quot; .[…]