Notifications
Clear all

Formatar a coluna com data formato dd-mm-aaaa hh:mm

8 Posts
2 Usuários
0 Reactions
1,126 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde a todos!

Pesquisei no fórum mas não achei nenhum tópico que poderia resolver meu problema.
Necessito que toda vez que o título da coluna do intervalo A1:AB1 for DATA e HORA toda a coluna seja formatada com o formato dd-mm-aaaa hh:mm.

Por favor alguém poderia me ajudar.

Antecipadamente agradeço.

 
Postado : 27/07/2015 9:09 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu não entendi, você precisa de VBA para isso?
https://support.office.com/pt-br/articl ... t-BR&ad=BR
http://pcworld.com.br/dicas/2008/03/12/ ... -do-excel/

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/07/2015 9:45 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa noite Alexandre vba.
Obrigado pela atenção.
Consigo fazer da forma convencional, mas o problema é que todo dia tenho que copiar e colar dados de outras planilhas e após colar os dados as datas ficam fora do formato pois tenho que colar usando a função colar especial.
Então pra facilitar e poupar tempo pensei em criar uma macro para fazer essa tarefa pois são várias colunas onde preciso aplicar o formato e as vezes esqueço de arrumar.

Abraço

 
Postado : 27/07/2015 3:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tem de formatar a coluna apos colar utilizando "NumberFormat", de uma olhada no tópico abaixo, acredito que ajuda, se não pesquise por "NumberFormat" e encontrara varios tópicos a respeito.

Organizar dados da exporta do meu sistema
http://planilhando.com.br/forum/viewtop ... 29&p=61907

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/07/2015 7:13 pm
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Mauro,

Obrigado por sua ajuda!
Seguindo o tópico que você ensinou consegui criar uma macro que me ajudou a formatar as colunas com a data.

  Sub CONFIGURANDO_DATA()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.DisplayAlerts = False
Range("A2", "A50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("D2", "D50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("F2", "F50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("I2", "I50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("L2", "L50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("N2", "N50000").NumberFormat = "dd-mm-aaaa hh:mm"

Range("s2", "s50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("T2", "T50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("V2", "V50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("Z2", "Z50000").NumberFormat = "dd-mm-aaaa hh:mm"
Range("AB2", "AB50000").NumberFormat = "dd-mm-aaaa hh:mm"


Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

O problema e que as vezes tenho que incluir algumas colunas para incluir informações adicionais ai o código acima teria quer ser alterado também.
Como faço para fazer o NumberFormat funcionar caso o titulo da coluna for "DATA e HORA"

Abraços.

 
Postado : 28/07/2015 9:10 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

fabio, no primeiro post você diz que as colunas serão de "A1:AB1", então este range não é fixo ?
Tem como pesquisar pelos rotulos das colunas e fazer o que pretende, se pesquisar no forum a pouco tempo coloquei uma em que era pesquisado por um outro termo.
Agora para continuar lhe ajudando, o ideal é dar todos os detalhes para evitarmos de ficar em suposição, ou seja, vai copiar varias colunas e colar, ou será alternado, copiar separadamente e ir colando aleatoriamente ou em alguma coluna expecifica, e por ai vai.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/07/2015 10:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tente a rotina abaixo, ela percorrerá desde a primeira coluna até a última preenchida pelo termo e se localizar formata a coluna :

   Sub FormataColsComCriterio()
    Dim lgTtColunas As Long
    Dim iCol As Long
    Dim myCol As String
    Dim Ultimalinha As Long
    
        'Conta as colunas preenchidas
        lgTtColunas = Cells(1, Columns.Count).End(xlToLeft).Column
       
        For iCol = 1 To lgTtColunas
           
            'pesquisa em cada coluna pelo termo "DATA e HORA"
            If Cells(1, iCol).Value = "DATA e HORA" Then
             
                myCol = GetColumnLetter(iCol)
                 
                Ultimalinha = Plan2.Range(myCol & Rows.Count).End(xlUp).Row
                 
                Range(myCol & "2:" & myCol & Ultimalinha).NumberFormat = "dd-mm-aaaa hh:mm"
           
            End If
           
        Next iCol

    End Sub

    Function GetColumnLetter(colNum As Long) As String
        Dim vArr
        vArr = Split(Cells(1, colNum).Address(True, False), "$")
        GetColumnLetter = vArr(0)
    End Function

Faça os testes e qq coisa retorne.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/07/2015 11:09 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia Mauro,

Obrigado pela ajuda.
Testei e deu certo, funciona perfeitamente.
Desculpe por não explicar detalhadamente no primeiro post o que necessitava fazer.
Realmente tentar adivinhar que o outro necessita eh complicado, foi mal!!
Para finalizar e por curiosidade gostaria de saber o que necessariamente faz esta função

 Function GetColumnLetter(colNum As Long) As String
        Dim vArr
        vArr = Split(Cells(1, colNum).Address(True, False), "$")
        GetColumnLetter = vArr(0)
    End Function
 
Postado : 29/07/2015 8:36 am