Ir ao conteúdo
  • Cadastre-se

Problema com data - Excel VBA


Diogo Valentim

Posts recomendados

Boa tarde!

Gente estou com um problema que não acho solução em nenhum lugar da web.

Tenho uma planilha (Obras) com 7 campos de datas.

Ela é gerada a partir de outra planilha (QueryObra)

Essa planilha é gerada a partir de uma query via IBM Iseries, ou seja quando eu rodo o Iseries, ele me gera um .xls contendo todos os dados desejados, mas como é de natureza do iseries, ele me traz todas as informações somente alfanumericas, ou alfa ou numericas, não conseguindo assim me trazer estes dados em formato de data automaticamente.

Bom na planilha principal (Obras) eu uso uma tabela dinamica para organizar os itens.

porém as datas vão como numeros, ou seja o campo data esta formatado como numero com barras 01/01/1900

Eu uso VBA para realizar todos os procedimentos da planilha, segue minhas tentativas:

No VBA, usar o comando Selection.NumberFormat = "dd/mm/yyyy"

Não dá certo!

No VBA, usar o comando Selection.NumberFormat = "mm/dd/yyyy"

Não dá certo!

No VBA, usar o comando Selection.Value = Format("dd/mm/yyyy")

Não dá certo.

Na propria celula, formatar como data, não dá certo.

Bom, em uma tentativa besta, dei um substituir "/" por ".", e depois fazer o inverso "." por "/"

Voilá, funciona!!!!!

Bom mas quando levo isso para macro:

Range("I2:O2").Select

Range(Selection, Selection.End(xlDown)).Select

Cells.Replace What:="/", Replacement:=".", LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=".", Replacement:="/", LookAt:=xlPart, SearchOrder _

:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Ele não funciona, a macro faz o comando perfeitamente, porém ele não realmente arruma o campo.

Bom me falaram que o registro do windows podia estar com problema, porém fui lá na chave e ela esta correta como "dd/MM/yy".

Alguem tem uma luz?

Link para o comentário
Compartilhar em outros sites

Os dados inseridos na planilha têm aparência de datas mas não são reconhecidos como datas pelo Excel. É isso?

Se os dados têm aparência de datas porque não podem permancer assim? você precisa efetuar cálculos com essas 'datas' ?

Seria interessante você postar um arquivo em com os dados em 'bruto', ou seja, no formato em que são recebidos e qual o resultado desejado.

Link para o comentário
Compartilhar em outros sites

Os dados inseridos na planilha têm aparência de datas mas não são reconhecidos como datas pelo Excel. É isso?

Se os dados têm aparência de datas porque não podem permancer assim? você precisa efetuar cálculos com essas 'datas' ?

Seria interessante você postar um arquivo em com os dados em 'bruto', ou seja, no formato em que são recebidos e qual o resultado desejado.

A aparencia de datas não me é interessante, pois utilizo diversas formulas com elas, é exatamente as datas que me interessam.

De inicio se não arrumo as datas com o truque do substituir a guia "Tratativa" não funciona, e dali pra frente tudo fica desarrumado.

O ideal seria deixar toda essa planilha completamente funcional com a macro "Tratativa" com atalho CRTL+T, mas existem diversos erros que não me permitem isso.

Os erros de não automatização são:

1º a Data sempre está com problema.

2º a guia "Tratativa" eu tenho que arrumar todas as formulas sempre que rodo a macro, substituindo em todos os campos que não são da tabela dinamica. Esse aranjo de formula é porque quando rodo a macro, a área da tabela dinamica se reduz, tanto nas colunas quanto nas linhas.

3º A guia Graficos, fica errada se aparece um vendedor diferente, tenho que arrumar na mão para deixar os graficos arrumados.

Bom segue planilhas Brutas como solicitado:

https://docs.google.com/open?id=0BxFjFyyHO-U5NWViNWUxNjEtYTgyOS00ZjNkLTllNjYtMGI5YmM0ZDFmMTU1

http://tinyurl.com/72meqqj

Segue arquivos.

Retirei todos os dados confidenciais, espero que ainda rode tudo o que precisa para verificação.

Os arquivos estão em ordem:

Arquivo de origem, de como vem do Iseries: ISP4B

Arquivo meu: Obras

Olha os arquivos estão bem grandes e com muita formatação, mas para entender, deixei somente os campos de datas e os nomes das obras.

Não fiz nenhuma outra modificação. Coloque a ISP4B no c: para as macros funcionarem.

Existe no arquivo Obras uma serie de macros, dentre elas está a macro: Arrumar, deixei ela como ultima macro no modulo para ficar mais fácil.

Link para o comentário
Compartilhar em outros sites

Aê, Nocte.

braçal 1 >> Copiar >> Colar Multiplicando

1. insira em uma célula vazia o número '1'

2. clique com o direito >> Copiar

3. selecione as colunas com 'datas' clicando sobre a letra da primeira coluna e arrastando para selecionar quantas forem necessárias

4. clique com o direito em qualquer parte da área pintada

5. colar especial >> em Operação marque Multiplicação >> OK

6. aproveite a seleção e formate para data

braçal 2 >> Texto para Colunas

só aceita uma coluna por vez

1. selecione uma coluna clicando na letra que a identifica

2. no menu Texto para Colunas >> Concluir

por macro, Texto para Colunas

atua nas colunas 'Q' até 'W' (For i = 17 To 23), altere se necessário

Sub TextoParaData()
Dim i As Long
Application.ScreenUpdating = False
For i = 17 To 23
Columns(i).Select
Selection.TextToColumns Destination:=Cells(1, i), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
Next i
Application.ScreenUpdating = True
End Sub

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!