Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Saulo
#64881
Bom Dia!
Na Planilha em Anexo, Solicito Se Possível, Criar Uma Macro de Forma a Não Permitir que as Data Inicio (célula B12) OU Data Fim (célula B13), sejam maiores que a data atual.
Se possível enviar um aviso: "Data Início ou Data Fim Não Podem Ser Maior Que a Data Atual do Sistema"
Desde Já Agradeço
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#64883
Olá, Saulo.

Validação de Dados não lhe atende? ~~~> selecione B12:B13 | Validação | Personalizado | =E(ÉNÚM($B12);$B12<=HOJE())
Saulo agradeceu por isso
Por Saulo
#64886
Olá osvaldomp - 31 Mai 2021 às 11:37
Então...A questão é que na planilha atual já existem nas células B12 e B13 validações de dados.
Se possível, acho que a solução seria ser via macro.
O que Você Acha?
Por osvaldomp
#64890
Olá, Saulo - 31 Mai 2021 às 11:54.

Eu sugiro tentar primeiro por Validação.

Talvez seja possível associar a Validação existente com a nova, para isso você precisa informar com exatidão quais as restrições que você deseja para B12 e também para B13.

Se não for viável por Validação então poderemos fazer por macro.
Saulo agradeceu por isso
Por Saulo
#64899
Olá! osvaldomp - 31 Mai 2021 às 11:54
Então...
Atualmente existem as seguintes validações de dados:
1) Em “B12” (Data Inicial): Não é permitido digitar uma data maior do que “B13” (Data Final)
Assim está a fórmula: =E(ÉNÚM($B$12);$B$12<=$B$13+((HOJE()+3^8)*($B$13=0)));
2)Em “B13” (Data Final): Não é permitido digitar uma data menor do que “B12” (Data Inicial)
Assim está a fórmula: =E(ÉNÚM($B$13);$B$13>=$B$12;$B$12>0).
OBS: Se Possível, Favor avaliar a melhor alternativa, ou seja, mantendo a validação atual acrescentada de uma nova conforme sugerido por você em : =E(ÉNÚM($B12);$B12<=HOJE()), ou desenvolver uma Macro.
Ressalva: Particularmente Tenho Preferência Pela Macro, pois seria um aprendizado para mim, mas Quaisquer das duas alternativas atendem, fica a seu critério decidir, o importante é manter as validações atuais.
Desde já agradeço
Por osvaldomp
#64905
Olá, Saulo » 31 Mai 2021 às 13:59

Veja se as fórmulas abaixo funcionam a contento (se atendem às restrições existentes e também às novas). Se sim, então faremos uma solução via macro com base nelas e mantendo o seu código atual que insere maiúsculas em B10.

Tanto na Validação de B12 quanto de B13 desmarque a opção Ignorar em branco.

Em B12 ~~~> =E(ÉNÚM(B12);B12<=HOJE();B12<=B13+((HOJE())*(B13=0)))

Em B13 ~~~> =E(ÉNÚM(B13);B13<=HOJE();B13>=B12)
Saulo agradeceu por isso
Por Saulo
#64906
Bom Dia osvaldomp - 31 Mai 2021 às 21:14
Perfeito, Funcionou Como Planejado.
Obrigado Pela Ajuda e Parabéns Pela Dedicação.
Atenciosamente
Por osvaldomp
#64914
Salve, @Saulo .

Instale uma cópia do código abaixo no lugar do existente.
Antes de testar remova a Validação de B12:B13.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Value = "" Then Exit Sub
 If Target.Address = "$B$10" Then
  If Not Target.Text = UCase(Target.Text) Then
   Target.Value = UCase(Target.Text)
  End If
 ElseIf Not Intersect([B12:B13], Target) Is Nothing Then
  If Not IsDate(Target.Value) Or Target.Value > Date Then
   MsgBox "INSIRA UMA DATA IGUAL OU ANTERIOR AO DIA DE HOJE": Target.Value = "": Exit Sub
  ElseIf Target.Address = "$B$12" And [B13] <> "" Then
   If Target.Value > [B13] Then MsgBox "Data Início NÃO PODE SER MAIOR DO QUE Data Fim": Target.Value = "": Exit Sub
  ElseIf Target.Address = "$B$13" And [B12] <> "" Then
   If Target.Value < [B12] Then MsgBox "Data Fim NÃO PODE SER MENOR DO QUE Data Início": Target.Value = "": Exit Sub
  End If
 End If
End Sub
Saulo agradeceu por isso
Ranking PROCV

... mas fiz as alterações correspo[…]

Bom dia comunidade! Preciso implementar uma solu&[…]

Pessoal Boa noite. Tenho uma planilha, que escrev[…]

Saldos

Olá, estou fazendo um dashboard e tenho um[…]

Deve ter outra forma, mas sugiro que faça n[…]

Tente esta: Acc = CALCULATE ( [Receita], […]

AJUDA COM FUNÇÃO "SE"

O problema não é devido ao uso da fu[…]

Veja no link abaixo se aproveita algo. https://w[…]