Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Formato Data em Formulario

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: Formato Data em Formulario   Sex Maio 03, 2013 2:27 pm

Bom dia


Mais uma vez recorro à vossa ajuda.
Tenho um formulário de cadastro de jovens. Porem ao colocar a data de admissão (Formato dia-mês-ano) e clico em gravar, a data aparece correta no Excel mas quando consulto através do formulário o vba devolve-me trocado. Troca-me os (-) por (/) e coloca aparece com o formato (mês-dia-ano).

Como posso fazer com que mantenha sempre o formato (dia-mês-ano) na textbox e na folha de Excel?

Agradeço a vossa ajuda
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Sab Maio 04, 2013 2:44 am

Boa noite!!

sem olhar a rotina ou o arquivo, eu não saberei dizer

Como está formatando as datas, qual função está usando Cdate????

sem olhar fica complicado adivinhar
exemplo
Código:
Dim arDate As Variant
arDate = Split(Me.TextBox1.Value,"/")
Range("D4").Value = DateSerial(arDate(2),arDate(1),arDate(0))
Código:
cboCDate.AddItem Format(.Range("D" & x).Value, "dd/mm/yyyy")
etc...
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: FORMATO DATA RESPOSTA   Dom Maio 05, 2013 2:33 am

Não consegui chegar lá.
Vamos ver consigo explicar:
-Tenho uma panilha em que as colunas são
Nº Processo
Nª SEG SOCIAL
NOME
DATA DE ADMISSÃO

Crie um um userform onde tenho o botão inserir e o botão consultar.Tenho tambem a tb1, tb2, tb3..tb6(onde coloco a data).
Ao colocar a data se for inferior a dia 15 do mes aparece na coluna D do excell a data separada por ("/") se for superior aparece ("-").
Alem disso se eu colocar por exemplo na tb6 (caixa de texto onde ponho a data) 02-08-2012, na folha excell 08-02-2012.
Gostava ter sempre o formato em excell e na tb6 mesmo quando puxo os dados em "dd/mm/yyyy")

Coloco aqui o exemplo do botão inserir ate a tb6:
Private Sub cd1_Click()
Range("A3").Select
'Procurar a primeira célula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
'Carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = tb1.Value
ActiveCell.Offset(0, 1).Value = tb2.Value
ActiveCell.Offset(0, 2).Value = tb3.Value
ActiveCell.Offset(0, 3).Value = tb6.Value


O botao puxar dados:
BOTÂO PUXAR (CONSULTA DE DADOS PROCURANDO PELO Nº DE IDENTIFICAÇÂO)
Dim c As Range
Dim LINHA
Dim ws As Worksheet
On Error Resume Next
ComboBox1.Value = ""
'Verificar se foi digitado um nome na primeira caixa de texto
If tb2.Text = "" Then
MsgBox "Digite o NISS"
tb2.SetFocus
GoTo Linha1
End If
For Each ws In Worksheets

Set c = ws.Range("B:B").Find(tb2.Value, LookIn:=xlValues, _
LookAt:=xlWhole, SearchDirection:=xlNext)

If Not c Is Nothing Then
c.Activate
tb2.Value = c.Value
tb1.Value = c.Offset(0, -1).Value
tb3.Value = c.Offset(0, 1).Value
If c.Offset(0, 57).Value = "S" Then
op1.Value = True
Else
op1.Value = False
End If
tb6.Value = c.Offset(0, 2).Value


SERÀ QUE ME PODEM AJUDAR?


Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Dom Maio 05, 2013 2:56 am

Boa noite!

Poste seu arquivo em site gratuito e nos mande o link!
Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: FORMATO DATA RESPOSTA   Dom Maio 05, 2013 12:39 pm

Aqui vai

https://cloudpt.pt/link/98f6f7f3-5cf2-4c33-b1bb-b8208c01e6b8/DEP%20DE%20FA...xlsm

obrigado
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Dom Maio 05, 2013 3:35 pm

Bom dia!!

Eu não estou entendendo, você programou para manter sempre o caractere ( - ) traço sempre que for digitado.

Código:
Private Sub tb6_Change()

If Len(tb6) = 2 Or Len(tb6) = 5 Then
        tb6.Text = tb6.Text & "/" '<- Altere, porém ficará só com esse caractere como padrão
        SendKeys "{End}", True
    End If
End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: FORMATO DATA RESPOSTA   Seg Maio 06, 2013 1:00 am

Sim , configurei com o caracter "-", mas o que acontece é que a data que eu insiro for menor que dia 15 ela aparece na folha de excell com o caracter "/" e troca a ordem. Em vez de ser 02-08-2013 (dd-mm-yyyy) fica 08-02-2013 (mm-dd-yyyy) e depois ao puxar os dados eu fico sem saber a data correcta de admissão. NO EXCELL ESTA UMA DATA E NA TB6 ESTA OUTRA. Queria que ficasse tanto num sitio como noutro o dd/mm/yyyy
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Seg Maio 06, 2013 1:21 am

Boa noite!!

Eu acho que eu não estou sabendo usar sua planilha com o UserForm.

Eu não tive problema ao digitar uma data e pesquisa-la no UserForm.


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: FORMATO DATA RESPOSTA   Seg Maio 06, 2013 1:30 am

Para ver o que acontece teste o seguinte.

escreva um nome na text box respectiva e ponha a data de admissão 02/08/2013 (dd-mm-yyyy) e clique no botão gravar.(1º botão do lado esquerdo no menu. Agora feche o userform e va ao registo em excell ao ultimo . O que esta lá? 08/02/2013 (mm/dd/yyyy).

Claro que antes de tudo tem que escolher a CT na combobox de cima que representa a Folha de excell onde inserir.

Desculpe todo o trabalho que estou a dar! Obrigado
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Qua Maio 08, 2013 2:12 am

Boa noite!!

Fiz como recomendado, e realmente eu percebi seu problema, portante eu não poderei ajuda-lo visto que, para ajustar deveria alterar a maior parte de seu desenvolvimento.

Infelizmente eu não poderei ajuda-lo, sinto muito Crying or Very sad

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: Formato data   Qua Maio 08, 2013 4:43 pm

Compreendo. Mas será que me pode indicar que alterações eu tenho que fazer? Nem que seja o início e depois eu desenvolvo!

Obrigado!


Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: Resolvido   Qua Maio 15, 2013 5:25 pm

Obrigado pela ajuda e já consegui resolver a situação, mas tenho outra pergunta para colocar. Como evitar registos duplicados?


Agradecia a sua ajuda!!!
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Qua Maio 15, 2013 6:36 pm

Boa tarde!!

Me desculpe não ter te ajudado.

Você pode colocar uma instrução com condicional (no caso de inserir dados com Userform).
Código:
Select Case Target.Address
Case "$A$1":
    If Target.Value > 0 Then
        With Sheets("Sheet2")
            LastRow = .Cells(Rows.Count, "B").End(xlUp).Row
            Set EnteredValues = .Range("B1", .Range("B" & LastRow))
        If EnteredValues.Count > 0 Then
            Match = WorksheetFunction.Match(Target.Value, EnteredValues)
            If WorksheetFunction.Index(EnteredValues, Match) = Target.Value Then
                MsgBox ("Esse valor já contém na planilha.")
                Exit Sub
            Else
                If Match <> EnteredValues.Count Then
                    .Range("B" & Match + 1).Insert
                End If
                .Range("B" & Match + 1) = Target
            End If
        Else
            EnteredValues = Target
        End If
        End With
    End If
End Select
Ou você pode eliminar os dados depois de inseridos na planilha.
Código:
'Elimina as duplicidades
'Verifica os dados repetidos na coluna A, e elimina as linhas nas colunas A:E
    With Sheets("Dest")
    LastRow = Range("A65536").End(xlUp).Row
    For x = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("A2:E" & x), Range("A" & x).Text) > 1 Then
            Range("A" & x).EntireRow.Delete
        End If
    Next x
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Qua Maio 15, 2013 6:37 pm

Boa tarde!!

Me desculpe não ter te ajudado.

Você pode colocar uma instrução com condicional (no caso de inserir dados com Userform).
Código:
Select Case Target.Address
Case "$A$1":
    If Target.Value > 0 Then
        With Sheets("Sheet2")
            LastRow = .Cells(Rows.Count, "B").End(xlUp).Row
            Set EnteredValues = .Range("B1", .Range("B" & LastRow))
        If EnteredValues.Count > 0 Then
            Match = WorksheetFunction.Match(Target.Value, EnteredValues)
            If WorksheetFunction.Index(EnteredValues, Match) = Target.Value Then
                MsgBox ("Esse valor já contém na planilha.")
                Exit Sub
            Else
                If Match <> EnteredValues.Count Then
                    .Range("B" & Match + 1).Insert
                End If
                .Range("B" & Match + 1) = Target
            End If
        Else
            EnteredValues = Target
        End If
        End With
    End If
End Select
Ou você pode eliminar os dados depois de inseridos na planilha.
Código:
'Elimina as duplicidades
'Verifica os dados repetidos na coluna A, e elimina as linhas nas colunas A:E
    With Sheets("Dest")
    LastRow = Range("A65536").End(xlUp).Row
    For x = LastRow To 1 Step -1
        If Application.WorksheetFunction.CountIf(Range("A2:E" & x), Range("A" & x).Text) > 1 Then
            Range("A" & x).EntireRow.Delete
        End If
    Next x
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: Evitar duplicaçoes   Qua Maio 15, 2013 7:22 pm

Obrigado pela ajuda.

Eliminar a linha consigo pondo esse comando no Userform initialize, mas o outro de formatação condicional não consigo. Coloco esse comando no botao de inserir? e que tipo de variáveis tenho que declarar e como?
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Sex Maio 17, 2013 3:17 am

Boa noite!!

Ambos tem a mesma ideia!

Caso um dos dois te servir, fique com o que conseguir adaptar!

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
nuno



Mensagens : 62
Data de inscrição : 27/02/2013

MensagemAssunto: Resolvido   Sex Maio 17, 2013 6:05 pm

Está a funcionar. Obrigado pela sua pronta disponibilidade!
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Formato Data em Formulario   Sab Maio 18, 2013 2:10 am

Boa noite!!

obrigado pelo retorno, até a próxima Wink
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Formato Data em Formulario   Hoje à(s) 10:14 pm

Voltar ao Topo Ir em baixo
 
Formato Data em Formulario
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Alterar formato da data
» Modificar formato da data em "última mensagem"
» Função format não passa para o formato de data americana
» [DUVIDA] EM QUE FORMATO VEM QUANDO NOS BAIXAMOS TEMAS ???
» [Duvida] Qual o melhor formato de audio?

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: