Notifications
Clear all

Tirar a Barra de uma "Data" - VBA

4 Posts
2 Usuários
0 Reactions
2,449 Visualizações
(@milenamoreno)
Posts: 51
Trusted Member
Topic starter
 

Estou desenvolvendo uma rotina para abrir alguns arquivos externos, esses arquivos estão salvos Nome da Pessoa - Ultimo dia do Mes (Trimestral).
JOAO - 31032011
JOAO - 30062011
JOAO - 30092011
JOAO - 31122011
JOAO - 31032012
JOAO - 30062012
JOAO - 30092012
JOAO - 31122012

Preciso de uma rotina que faça um loop (TRIMESTRAIS) abrindo uma planilha de cada vez. Eu encontrei uma função do VBA que soma meses, porém sempre com a "/", ao invés de considerar apenas as datas sem as barras.

Para abrir a planilha, pensei no seguinte comando:

Sub Teste()
Dim dt As Date

dt = #3/31/2011#

dt = Format(dt, "DDMMYYYY")' O objetivo era "tirar" as barras, mas não funcionou.
Workbooks.Open = JOAO & " - " & dt & ".xlsm"

' aqui eu acrescento 3 meses para ir para a próxima planilha
dt=DateAdd("m", 3, dt)
next
end sub

Alguém teria uma idéia para tirar essa barra da data para que eu consiga abrir essa planilha via VBA?

Agradeço antecipadamente,
Silmar

 
Postado : 17/12/2012 7:41 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!!

Eu não entendi muito bem sua dúvida.
leia:
http://www.extendoffice.com/documents/e ... heets.html

Você pretende mudar o formato dentro da planilha ou na o nome da guia?

Sub MudarFormatoDataPara()
'Essa rotina muda o formato de data para "ddmmmyyyy"
    Dim NomeVariant As Long
     
    With ThisWorkbook.Sheets(1)
         
        NomeVariant = .Cells(Rows.Count, 2).End(xlUp).Row
        With .Range("B1").Resize(endrowofcol2)
             
            .NumberFormat = "ddmmmyyyy"
        End With
    End With
End Sub

Att

 
Postado : 18/12/2012 4:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente algo assim (porem não há no codigo o "posicionamento" no diretorio onde estão as planilhas):

Sub Teste()
Dim dt As Date, Td As String
dt = #3/31/2011#
For x = 1 To 6

Td = Format(dt, "DDMMYYYY") ' O objetivo era "tirar" as barras, mas não funcionou.
'Workbooks.Open = JOAO & " - " & dt & ".xlsm"
MsgBox "JOAO - " & Td & ".xlsm"
' aqui eu acrescento 3 meses para ir para a próxima planilha
dt = DateAdd("m", 3, dt)
Next
End Sub
 
Postado : 18/12/2012 5:24 am
(@milenamoreno)
Posts: 51
Trusted Member
Topic starter
 

Alexandre e Reinado, muito obrigado.

O que me ajudou bastante foi esse comando "Td = Format(dt, "DDMMYYYY")". Eu estava colocando dt = Format(dt, "DDMMYYYY").

 
Postado : 18/12/2012 6:49 am