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.
#62471
Olá Pessoal.

Tenho um relatório onde em uma aba tenho uma célula com uma determinada data que é a "data de referência" em que o relatório está sendo montado e em outra aba tenho o "banco de dados" com todo o histórico de registros.
Como muda a data de acordo com o momento em que o relatório estiver sendo montado, pensei em utilizar o método Find para usar a célula da "data de referência" como chave e encontrar na outra aba a data correspondente.
Fiz um teste utilizando números e funciona, porém quando mudo a informação para Data não funciona.
Alguém consegue me ajudar a entender o que preciso mudar para conseguir encontrar a célula com a data procurada?
Coloquei o arquito teste em anexo.

Obrigada!
Você não está autorizado a ver ou baixar esse anexo.
#62472
Experimente:

altere Dim EncontraString As String ~~~> para ~~~> Dim EncontraString As Date

e With Sheets("Planilha1").Range("A:XFD") ~~~> para ~~~> With Sheets("Planilha1").Range("B3:H3")
#
Veja se o código abaixo lhe atende.
Código: Selecionar todos
Sub BuscaData()
 Dim d As Range
  Set d = [B3:H3].Find([A1])
  If Not d Is Nothing Then
   d.Select
  Else: MsgBox "valor não encontrado"
  End If
End Sub
#62490
Funcionou, mas no meu caso a data que será a referência da busca está em uma aba e a linha com as datas que vou procurar está em outra aba.
Saberia me dizer o que preciso mudar?

Tentei colocar como

Sub BuscaData()
Dim d As Range
Set d = ThisWorkbook.Worksheets("Planilha2").Range([B3:H3]).Find(ThisWorkbook.Worksheets("Planilha1").Range([A1])
If Not d Is Nothing Then
d.Select
Else: MsgBox "valor não encontrado"
End If
End Sub,

mas não funcionou...

Deixo anexo o arquivo.
Você não está autorizado a ver ou baixar esse anexo.
#62494
Código: Selecionar todos
Sub BuscaDataV2()
 Dim d As Range
  Set d = Sheets("Planilha2").[B3:H3].Find(Sheets("Planilha1").[A1])
  If Not d Is Nothing Then
   Sheets("Planilha2").Activate: d.Select
  Else: MsgBox "valor não encontrado"
  End If
End Sub
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