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 Rodolfokw
#52599
Bom dia a todos!

Sou iniciante em Macro/VBA no Excel e estou com um dúvida referente a cadastro de informações de uma aba para outra, contudo para determinadas linhas. Por exemplo:

Tenho na primeira aba o cadastro de informações de contagem de veículos (Células B9:E9) e o Horário de ínicio daquela contagem (Célula H4). As contagens são feitas a cada 15 minutos. Então, o contador termina a contagem, clica em enviar, e a informação é apagada para ele começar o próximo intervalo.

Imagem

Após o clique no botão Enviar, a informação seria enviada para uma outra aba, que agregaria todas as contagens, conforme explica a imagem abaixo.

Imagem

O meu objetivo (e, portanto, dúvida) seria como programar uma macro para que a informação da primeira aba vá especificamente para a linha do horário (no caso, das 16:30) da segunda aba (Células G33:J33).

Eu já tinha procurado vídeo-aulas a respeito, mas tudo que eu consigo achar é cadastro de informações onde a informação vai para a segunda aba na ordem de envio, e não para células especificas (como no caso da minha dúvida acima).
Por osvaldomp
#52620
Disponibilize uma amostra do seu arquivo Excel, imagens não servem.
Por topscore
Posts
#52630
Rodolfokw:

*Usei a coluna A em ambas planilhas, deixe-as ocultas ao usuário.
*Se precisar mudar o intervalo entre horário de início e fim, mude o valor de A2 em Veiculos_sete-01.
*Em ambas as abas, nunca altere a posição das tabelas, nunca insira ou exclua linhas e colunas. Se fizer, precisará adaptar o código.

Resolva o tópico se estiver satisfeito.
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#52631
opção1 - rodar o código via botão
Código: Selecionar todos
Sub ReplicaDados()
 Dim h As Range
  For Each h In Sheets("Veículos_Seta-01").[E7:E70]
   If h.Text = [H4].Text Then    h.Offset(, 2).Resize(, 4).Value = [B9:E9].Value:Exit For
  Next h
End Sub
opção2 - rodar o código automaticamente após inserir a hora em H4 e apertar Enter
Instale uma cópia do código abaixo no Módulo da planilha Contagem_Veículos
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim h As Range
  If Target.Count > 1 Then Exit Sub
  If Target.Address <> "$H$4" Or Target.Value = "" Then Exit Sub
  For Each h In Sheets("Veículos_Seta-01").[E7:E70]
  If h.Text = Target.Text Then  h.Offset(, 2).Resize(, 4).Value = [B9:E9].Value:Exit For
  Next h
End Sub
* ambos os códigos sem Select _ :)
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