Usuário com melhor resposta
Como modificar o código?

Pergunta
-
boa noite
No codigo abaixo ao digitar 123456 retorna no textbox = 2014123456, onde:
2014 = ano atual
Porem, como incluir um codigo que possa digitar anos anteriores como:
ex:2013123456
Private Sub TxtCadastro_Exit(ByVal Cancel As MSForms.ReturnBoolean) TxtCadastro.BackColor = vbWhite TxtCadastro = lblCadastro End Sub
Private Sub txtCadastro_Change() 'Limita a Qde de caracteres TxtCadastro.MaxLength = 6 Me.lblCadastro = Format(Plan3.Range("Y4"), "yyyy") & Format(Me.TxtCadastro, "000000") End Sub
Private Sub txtCadastro_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Select Case KeyCode Case 8, 48 To 57, 96 To 105 Case Else KeyCode = 0 End Select End Sub
Obrigado.
Respostas
-
Bom dia JLNunes,
pelo seu código, vc está limitando a quantidade de caracteres digitados em '6', ou seja, não há como digitar "2013123456" como vc disse.
Supondo que não haja essa limitação, vc poderia fazer um teste da necessidade de adicionar o 2014, como algo do tipo:
If Left(Me.TxtCadastro, 4) <> Year(Plan3.Range("Y4")) And Len(Me.TxtCadastro) > 6 Then
...
ou ainda mais simples:
If Len(Me.TxtCadastro) > 6 Then
...
Isso resolve?
Um abraço.
Filipe Magno
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 13 de janeiro de 2014 23:08
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 7 de junho de 2014 19:03
Todas as Respostas
-
-
Boa noite
Hum..., este procedimento de mudar a celula seria muito complicado, teria que desproteger a planilha que tem muitas formulas, e ai o risco de danificar a planilha seria muito grande, uma vez que varias pessoas utiliza a planilha.
achei que tivesse um procedimento que ao digitar 2013123456 ele ignorasse o procedimento "Me.lblCadastro = Format(Plan3.Range("Y4"), "yyyy") & Format(Me.TxtCadastro, "000000")".
Obrigado
-
Bom dia JLNunes,
pelo seu código, vc está limitando a quantidade de caracteres digitados em '6', ou seja, não há como digitar "2013123456" como vc disse.
Supondo que não haja essa limitação, vc poderia fazer um teste da necessidade de adicionar o 2014, como algo do tipo:
If Left(Me.TxtCadastro, 4) <> Year(Plan3.Range("Y4")) And Len(Me.TxtCadastro) > 6 Then
...
ou ainda mais simples:
If Len(Me.TxtCadastro) > 6 Then
...
Isso resolve?
Um abraço.
Filipe Magno
- Sugerido como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 13 de janeiro de 2014 23:08
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 7 de junho de 2014 19:03
-