Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por tuliohaa 05 Dez 2018 às 23:32
Membro Novato
Mensagens: 5
Reputação: 1
#39080
Boa noite pessoal !

Sou novo no grupo, queria uma ajuda por favor !
Elaborei uma macro que faz o seguinte:
Seleciona uma célula com um número
Cola o conteúdo dessa célula uma célula da planilha que pretendo fazer a busca
Chama o "Ctrl+L" e pesquisa o que está na célula que acabei de colar (não soube fazer de outra forma)

Depois disso, eu preciso que ele mude para 5 células à direita, e coloque a fórmula "Hoje()" e copie e cole essa mesma célula como valores (para que fique fixo).

No entanto, ele está colocando a fórmula antes de deslocar para a direita, e não fazendo como preciso.
Tentei fazer para chamar a macro, mas tbm não deu.
Essa é minha macro:

Sub Atualizar_consulta()
'
' Ver_atualizar
'

'

Range("B3").Select
Selection.Copy
Sheets("Planilha1").Select
Range("O1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Find(What:=Range("O1"), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
SendKeys ("{RIGHT 7}")
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Vão me ajudar muito, de verdade !!!
Obrigado !
Avatar do usuário
Por DJunqueira 06 Dez 2018 às 00:48
Excel Expert
Mensagens: 1123
Reputação: 437
#39083
Evite '.Select' pq atrasa a execução do código.
Anexe sua planilha q talvez nós possamos encontrar soluções melhores.
Por tuliohaa 06 Dez 2018 às 01:01
Membro Novato
Mensagens: 5
Reputação: 1
#39085
DJunqueira escreveu:Evite '.Select' pq atrasa a execução do código.
Anexe sua planilha q talvez nós possamos encontrar soluções melhores.


Estou anexando, coloquei algumas observações do que preciso.
Vou colocar formatações condicionais ainda, alterar algumas fórmulas...
Nunca fiz curso de excel, por isso as dificuldades.
Mas obrigado mesmo !
Apenas usuários registrados podem ver ou baixar anexos.
Avatar do usuário
Por DJunqueira 06 Dez 2018 às 02:37
Excel Expert
Mensagens: 1123
Reputação: 437
#39086
Para o q vc quer fazer não é necessário criar uma macro, basta usar a função HIPERLINK().
Exemplo na Planilha2 coluna G.

Obs.: No geral se vc criou mais de 3 módulos de macro, ou vc está indo na direção errada ou sua planilha é hipercomplexa.
Apenas usuários registrados podem ver ou baixar anexos.
Por tuliohaa 06 Dez 2018 às 08:52
Membro Novato
Mensagens: 5
Reputação: 1
#39088
Uau ! Aprendi mais uma coisa !
Obrigado, de verdade !
Ficou bem mais simples e eficaz.
Quanto ao link para localizar a data correspondente e alterar para hoje() - copiar esse mesma célula e colar como valores.
Usaria a mesma macro com ajustes ?

Obrigado !!!
Avatar do usuário
Por DJunqueira 06 Dez 2018 às 10:59
Excel Expert
Mensagens: 1123
Reputação: 437
#39091
Vamos recapitular p/ ver se não perdi nada, vc quer clicar na linha de um dos processos da Planilha2 e encontrar esse processo na Planilha1 e na coluna K 'Consultar em:' quer alterar a data p/ o dia de hj passando por cima da fórmula existente?
Por tuliohaa 06 Dez 2018 às 23:42
Membro Novato
Mensagens: 5
Reputação: 1
#39121
DJunqueira escreveu:Vamos recapitular p/ ver se não perdi nada, vc quer clicar na linha de um dos processos da Planilha2 e encontrar esse processo na Planilha1 e na coluna K 'Consultar em:' quer alterar a data p/ o dia de hj passando por cima da fórmula existente?


Desculpe, talvez me expressei mal.
Eu irei configurar da seguinte forma:

Na aba "planilha 3", eu colocarei um acesso ao macro ao término de cada linha numerada (de 1 a 30).
Essa macro, deve localizar o número do processo que esta em sua respectiva linha, na coluna B, e buscar esse valor na aba "planilha 1".
Ao localizar, preciso que ela desloque 7 células a direita (pois poderá ter vários processos com mesma data), chegando na "data inicial".
Estando nessa célula, preciso que substitua a data que estiver, pela data do dia (pensei em a macro colocar a fórmula "hoje()" nela, copiar e colar valores na mesma célula).

Basicamente isso, preciso que ao clicar nessa célula, ele busque a data inicial do processo e altere para o dia que eu atualizar.

Não sei se há outras formas, iria criar uma macro para cara linha, já que cada macro sempre buscará na mesma célula, e apenas os valores serão alterados pela fórmula.

Sua modificação anterior ajudou muito, de verdade !

Agradeço pela ajuda !!!
Avatar do usuário
Por DJunqueira 07 Dez 2018 às 02:24
Excel Expert
Mensagens: 1123
Reputação: 437
#39123
Administrar 30 macros é um inferno e isso é possível de se fazer com apenas uma.
Se vc colocar a fórmula HOJE() sua data vai ficar volátil e geralmente não é isso q se faz, o normal é colocar na célula a data do dia. Vc confirma?
Por osvaldomp 07 Dez 2018 às 15:46
Membro 5 Estrelas
Mensagens: 894
Reputação: 442
#39146
Veja se a solução do arquivo anexo ajuda.
Apenas usuários registrados podem ver ou baixar anexos.