MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Importação de arquivo .xls com VBa.

    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    [Resolvido]Importação de arquivo .xls com VBa. Empty Importação de arquivo .xls com VBa.

    Mensagem  Leo19 16/5/2012, 23:17

    Amigos,

    estou tentando importar um arquivo .xls para uma tabela atraves de um codigo VBA, o primeiro campo da tabela é a data realizada.Quando eu abro o arquivo com o código VBA a data muda de formato,ou seja, a data do .xls esta no formato dd/mm/aaaa e ao abrir com o código ele muda para mm/dd/aaaa, desta forma tenho os dados somente até o dia 12 do mês os dias restantes não aparecem, pois ele inverte o que é dia vira mês e vice-versa.
    Alguém sabe o que pode estar ocorrendo, já mudei a formatação da tabela e do .xls sem sucesso.

    Estou utilizando o codigo abaixo:

    Sub Command6_Click()

    Dim Xl As Excel.Application
    Dim FileName As String
    Dim wb As Workbook
    Dim rng As Range
    Dim LastRow As Long
    Dim L As Long
    Dim ws As Worksheet
    Dim cell As Range
    Dim fs As FileSystemObject



    Set Xl = New Excel.Application
    Xl.DisplayAlerts = False 'desliga os alertas do excel


    FileName = Xl.GetOpenFilename ' acesso ao arquivo a ser importado

    If FileName = "" Then MsgBox "Escolha o arquivo a ser Importado!", vbCritical, "ATENÇÃO" ' avisa se não escolher arquivo


    DoCmd.SetWarnings False ' desliga alertas do sistema
    Set wb = Xl.Workbooks.Open(FileName) 'acesso arquivo
    Set ws = wb.Worksheets(1) 'escolho sheet

    L = 4 'Linha inicial do arquivo

    Do While Trim(ws.Range("A" + Trim(Str(L))).Value) <> "" 'contador de linhas do arquivo excel até ficar vazio
    L = L + 1 'contador de linhas do arquivo excel
    Loop

    If L <> 4 Then L = L - 1

    L = L - 1 ' TIRO A ULTIMA LINHA

    If L = 4 And ws.Range("D4").Value = "" Then
    MsgBox "Arquivo não encontrado!!!", vbCritical, "Atenção"

    End If

    Set cell = ws.Range("A4", "M" + Trim(Str(L))) ' defino o range a ser copiado
    cell.Copy ' copio range

    DoCmd.SetWarnings False 'desliga os avisos do sistema
    DoCmd.OpenTable ("CRED") 'Opens the table
    DoCmd.RunCommand acCmdPasteAppend 'Pastes in the worksheet data
    DoCmd.Close 'Fecho Tabela
    DoCmd.SetWarnings True 'liga os avisos do sistema



    wb.Saved = True
    wb.Close
    Xl.DisplayAlerts = True
    Set wb = Nothing 'zera o workbook
    Set Xl = Nothing


    End Sub


    avatar
    Convidado
    Convidado


    [Resolvido]Importação de arquivo .xls com VBa. Empty Re: [Resolvido]Importação de arquivo .xls com VBa.

    Mensagem  Convidado 18/5/2012, 11:49

    Bom dia leo, ao que me parece está aplicando a data no campo em formato norte-americano, que é por padrão em vba....o formato mm/dd/yy.

    Apesar de não ter como testar por nao ter os arquivos envolvidos, ja tentou formatar data na hora que copia o range?

    Creio aque deva ser nesta linha:
    Set cell = ws.Range("A4", "M" + Trim(Str(L))) ' defino o range a ser copiado
    cell.Copy ' copio range

    De repentente:

    Format(Trim(Str(L)),"dd/mm/yyy")....


    Cumprimentos.
    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    [Resolvido]Importação de arquivo .xls com VBa. Empty re

    Mensagem  Leo19 18/5/2012, 13:22

    Harysohn

    bom dia

    acabei de testar a função, mas o campo data não mudou.Acho muito estranho, pois o formato da data muda somente até o dia 12, do dia 13 em diante ele se comporta normal.
    avatar
    Convidado
    Convidado


    [Resolvido]Importação de arquivo .xls com VBa. Empty Re: [Resolvido]Importação de arquivo .xls com VBa.

    Mensagem  Convidado 18/5/2012, 13:54

    Se puder postar as partes envolvidas, talvez possamos ajudá-lo a encontrar uma solução.
    Cumprimentos.
    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    [Resolvido]Importação de arquivo .xls com VBa. Empty re

    Mensagem  Leo19 19/5/2012, 14:46

    Haryson,

    até gostaria de postar, mas os arquivos possuem informações da empresa onde trabalho que não podem ser diveulgados.Continuo minha pesquisa para saber o que esta acontecendo, ja que possuo outros BD's com o mesmo código que estao em perfeito funcionamento.Assim que possuir a resposta volto aqui e compartilho, afinal o compartilhamento de conhecimento é a intenção, o codigo acima funfa perfeitamente para importar dados em excel para uma tabela, espero que possa ter ajuda alguem no futuro.
    avatar
    Convidado
    Convidado


    [Resolvido]Importação de arquivo .xls com VBa. Empty Re: [Resolvido]Importação de arquivo .xls com VBa.

    Mensagem  Convidado 19/5/2012, 14:59

    Então...

    Veja as configurações do campo data na tabela... deve ser algo por ai..

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Importação de arquivo .xls com VBa. Empty Re: [Resolvido]Importação de arquivo .xls com VBa.

    Mensagem  Convidado 18/6/2012, 03:54

    Como não houve resposta o tópico passa a resolvido, caso necessite reabre-o.

    Moderação

    Conteúdo patrocinado


    [Resolvido]Importação de arquivo .xls com VBa. Empty Re: [Resolvido]Importação de arquivo .xls com VBa.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 19:33