Ir ao conteúdo

Posts recomendados

Postado

Galera, boa tarde!

O leigo aqui em VBA está enfrentando um grande problema para mim, mas, com certeza, um problema ridículo para os Mestres em VBA.

Seguinte: quero usar uma macro para localizar uma cadeia de caracteres em uma fórmula e substituí-la por uma data inserida na célula A1. Vamos aos dados:

Fórmula:=SOMASES($C$10:$C$2500;$A$10:$A$2500;"CDL";$B$10:$B$2500;">=xx/xx/19  00:00:00";$B$10:$B$2500;"<=xx/xx/19  00:59:00")

Célula A1: 25/11/19

O que o leigo fez:

   

Sub substituir()
'
' substituir Macro
' Localiza e substitui xx/xx/19 pela data inserida na célula A1
'

'
    Sheets("Plan1").Select
    Cells.Replace What:="xx/xx/19", Replacement:=Application.Cells(1, 1), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
  
End Sub

 

O que ocorre é que está invertendo a data para 11/25/19 (sistema inglês).

Já tentei várias maneira mas não consegui solucionar, por isso peço ajuda as Mestres.

Muito obrigado! 

  • Solução
Postado

Experimente 

Cells.Replace What:="xx/xx/19", Replacement:=VBA.Format(Application.Cells(1, 1), "dd/mm/yy"), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!