Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por VENTURA1268
Posts
#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
Posts
#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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord