Notifications
Clear all

Preencher TxtBox a partir de outro TxtBox

10 Posts
3 Usuários
0 Reactions
1,407 Visualizações
 FCP
(@fcp)
Posts: 0
New Member
Topic starter
 

Olá pessoal,
Preciso da ajuda de vocês.
estou criando um controle e preciso que ao preencher a data no txtBox (TxtData) preencha automático outro txtbox (txtSemana).
Usei uma relação Procv e tudo funciona bem para número, mas como a entrada da data no TxtData é no formato"02/08/2016" ele não consegue encontrar a referencia na base que está como data 02/08/2016.
Como posso fazer?

Segue o VBA:

Private Sub txtData_Change()
'Formata : dd/mm/aa
If Len(TxtData) = 2 Or Len(TxtData) = 5 Then
TxtData.Text = TxtData.Text & "/"
SendKeys "{End}", True
End If

'busca a informação na coluna "B" e retorna o valor da coluna "C", este ta funcionando certo
On Error Resume Next
If TxtData <> "" Then
TxtSemana = Application.WorksheetFunction.VLookup(CDbl(TxtData), Plan1.Range("b2:c1000"), 2, 0) '=PROCV(H2;A1:B3;2;0)
Else
TxtSemana.Value = ""
End If
End Sub

Private Sub txtData_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Limita a Qde de caracteres
TxtData.MaxLength = 10

'para permitir que apenas números sejam digitados
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If

End Sub

 
Postado : 02/08/2016 12:49 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

FCP,

Boa tarde!

Confesso que não entendi o que você quer... Pra mim, preencher um TextBox a partir de outro TextBox é muito simples e não há necessidades de Send Keys e nem funções complexas.

Não sei se entendi a sua demanda... segue pequeno exemplo.

 
Postado : 02/08/2016 1:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não vi seu modelo, mas concordo com o Wagner na questão de complexidades desnecessárias.
Não entendi o porque utilizar um Procv para retornar o dia da semana de uma tabela se podemos aplicar diretamente a conversão no textbox referente a data digitada no "TxtData".

É só utilizar a instrução :

Converte para o dia da semana conforme a data digitada :
TxtSemana.Value = Format(TxtData.Text, "dddd")

[]s

 
Postado : 02/08/2016 1:17 pm
 FCP
(@fcp)
Posts: 0
New Member
Topic starter
 

Olá pessoal,
Tenho um TxtBox que recebe um valor de data (txtData) e preciso que outro TxtBox (TxtSemana) receba o NÚMERO da semana (1,2,3,4,5,6,...30,31,32,etc)

 
Postado : 03/08/2016 10:45 am
 FCP
(@fcp)
Posts: 0
New Member
Topic starter
 

Olá pessoal,
Tenho um TxtBox que recebe um valor de data (txtData) e preciso que outro TxtBox (TxtSemana) receba o NÚMERO da semana (1,2,3,4,5,6,...30,31,32,etc) referente a essa data (TxtData)

 
Postado : 03/08/2016 10:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Dim SuaData
MyDate = Date 
TextBox4 = Format(SuaData, "dddd")

Att

 
Postado : 03/08/2016 10:58 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

FCP,

Boa tarde!

Veja se é assim.

 
Postado : 03/08/2016 11:27 am
 FCP
(@fcp)
Posts: 0
New Member
Topic starter
 

FCP,

Boa tarde!

Veja se é assim.

Olá, é isso mesmo, mas consegui uma maneira mais simples de fazer issso com uma linha de código apenas
Private Sub txtData_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TxtSemana.Value = Format(TxtData.Text, "ww")
End Sub

 
Postado : 03/08/2016 11:31 am
 FCP
(@fcp)
Posts: 0
New Member
Topic starter
 

Boa tarde!!

Dim SuaData
MyDate = Date 
TextBox4 = Format(SuaData, "dddd")

Att

Olá, não é bem isso, pois nesse código me retorna o dia da semana (segunda, terça, etc) mas consegui fazer usando "ww" me retornando o número da semana ao invés de "dddd", mas valeu pela força.
Private Sub txtData_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TxtSemana.Value = Format(TxtData.Text, "ww")
End Sub

 
Postado : 03/08/2016 11:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

FCP, seja bem vindo ao Planilhando, mas, nas próximas postagens no Forum, evite de criar tópicos repetidos, mantenha o foco no tópico que abriu primeiro, se possível sempre anexe um modelo com o resultado pretendido, seja o mais especifico possível, asim terá com certeza uma resposta mais precisa.
Juntei todos que abriu por se tratarem da mesma questão.

Mauro Coutinho
Moderador

[]s

 
Postado : 03/08/2016 11:53 am