Parar Excel de converter automaticamente determinados valores de texto para datas

StackOverflow https://stackoverflow.com/questions/165042

  •  03-07-2019
  •  | 
  •  

Pergunta

Alguém por acaso sabe se existe um símbolo que posso acrescentar ao meu csv para um determinado campo para Excel não tenta convertê-lo para uma data?

Eu estou tentando escrever um arquivo .csv do meu aplicativo e um dos valores acontece de olhar o suficiente como uma data que Excel é convertê-lo automaticamente a partir de texto para uma data. Eu tentei colocar todos os meus campos de texto (incluindo o que se parece com uma data) dentro de aspas duplas, mas isso não tem efeito.

Foi útil?

Solução

Eu descobri que colocando um '=' antes das aspas vai conseguir o que deseja. Ele força os dados a ser texto.

por exemplo. = "2008-10-03", = "mais texto"

EDIT (de acordo com outras publicações) : por causa da Excel 2007 erro observado por Jeffiekins deve-se usar a solução proposta por Andrew : "=""2008-10-03"""

Outras dicas

Eu sei que isto é uma questão de idade, mas o problema não vai desaparecer em breve. Os arquivos CSV são fáceis de gerar a partir maioria das linguagens de programação, bastante pequeno, legível em uma crise com um editor de texto simples, e ubíqua.

O problema não é apenas com datas em campos de texto, mas nada numérico também é convertido de texto para números. Um par de exemplos em que isso é problemático:

  • ZIP / códigos postais
  • números de telefone
  • números de ID do governo

que às vezes pode começar com um ou mais zeros (0), que são jogados fora quando convertido para numérico. Ou o valor contém caracteres que podem ser confundidos com operadores matemáticos (como em datas: / -).

Dois casos que eu posso pensar que a solução "prepending =", como mencionado anteriormente, pode não ser ideal é

  • onde o arquivo pode ser importado para um programa diferente do MS Excel (função de mala direta do MS Word vem à mente),
  • , onde humanos legibilidade pode ser importante.

O meu truque para contornar este

Se um pre / acrescenta um caractere não numérico e / ou não-data no valor, o valor será reconhecido como texto e não convertido. Um personagem não-impressão seria bom, pois não irá alterar o valor exibido. No entanto, o personagem velho liso espaço (\ s, ASCII 32) não funciona para isso, pois fica cortada pelo Excel e, em seguida, o valor ainda é convertido. Mas existem vários caracteres de espaço outra impressão e não-impressão que vai funcionar bem. O mais fácil , porém, é a append (add depois) o caráter simples tabulação (\ t, ASCII 9).

Os benefícios desta abordagem:

  • Disponível a partir do teclado ou com um código ASCII fácil de lembrar (9),
  • Não incomoda a importação,
  • Normalmente não incomoda resultados da mala direta (dependendo do layout do modelo - mas normalmente só acrescenta um amplo espaço no final de uma linha). (Se isso é no entanto um problema, olhar para outros personagens, por exemplo, o espaço de largura zero (ZWSP, Unicode U + 200B)
  • não é um grande obstáculo ao visualizar o CSV no bloco de notas (etc),
  • e poderia ser removido por find / substituir no Excel (ou bloco de notas etc).
  • Você não precisa import do CSV, mas pode simplesmente clicar duas vezes para open o CSV no Excel.

Se há uma razão que você não quer usar a guia, olhar em uma tabela Unicode para algo mais adequado.

Outra opção

pode ser para gerar arquivos XML, para o qual um determinado formato também é aceito para importação por mais recentes versões de MS Excel, e que permite muito mais opções semelhantes ao formato .xls, mas eu não tenho experiência com isso.

Portanto, há várias opções. Dependendo de suas necessidades / aplicação, pode ser melhor do que outro.


A adição

Ele precisa ser dito que as versões mais recentes (2013+) de MS Excel não abrir o CSV em formato de planilha mais - mais uma speedbump em um fluxo de trabalho fazendo Excel menos útil ... Pelo menos, existem instruções para começar em torno dele. Veja por exemplo este Stackoverflow: como visualizar correctamente .csv no Excel 2013? .

Trabalhando fora da solução de Jarod ea questão levantada por Jeffiekins, você pode modificar

"May 16, 2011"

para

"=""May 16, 2011"""

Eu tive um problema semelhante e esta é a solução que me ajudou sem ter que editar o conteúdo do arquivo CSV:

Se você tem a flexibilidade para nomear o arquivo algo diferente de ".csv", você pode nomeá-lo com uma extensão ".txt", como 'Myfile.txt' ou 'Myfile.csv.txt'. Então, quando você abri-lo no Excel (não por arrastar e soltar, mas usando Arquivo-> Abrir ou a lista mais recentemente usada arquivos), Excel irá fornecer-lhe com um "texto Import Wizard".

Na primeira página do assistente, escolha "delimitado" para o tipo de arquivo.

Na segunda página do assistente de escolha "" como delimitador e também escolher o qualificador de texto se tiver cercado seus valores por citações

Na terceira página, selecione cada coluna individualmente e atribuir a cada "Texto" do tipo em vez de "Geral" para parar Excel de mexer com seus dados.

Espero que isso ajude você ou alguém com um problema semelhante!

AVISO: Excel '07 (pelo menos) tem um (nother) bug: se há uma vírgula no conteúdo de um campo, que não analisa as = "campo, conteúdos" corretamente, mas coloca tudo após o vírgula para o seguinte campo, independentemente das aspas.

A única solução que eu encontrei que funciona é eliminar as = quando o conteúdo do campo incluir uma vírgula.

Isso pode significar que existem alguns campos que são impossíveis de representar exatamente "direito" no Excel, mas agora eu confio em ninguém está muito surpreso.

Ao criar a string a ser escrito para o meu arquivo CSV em C # eu tive que formatar desta forma:

"=\"" + myVariable + "\""

No Excel 2010 aberta uma nova folha. Na faixa de dados clique em "Obter dados externos de texto". Selecione o arquivo CSV, em seguida, clique em "Abrir". Clique em "Next". Desmarque a opção "Tab", coloque uma marca de verificação ao lado de "vírgula" e clique em "Next". Clique em qualquer lugar na primeira coluna. Enquanto mantém a tecla Shift arraste o controle deslizante do outro lado até que você pode clicar na última coluna, em seguida, solte a tecla shift. Clique no botão "texto" e clique em "Finish"

Todas as colunas serão importadas como texto, assim como eles estavam no arquivo CSV.

Ainda um problema no Microsoft Office 2016 liberação, bastante perturbador para aqueles de nós trabalhar com nomes de genes tais como marc1, MARCH1, SEPT1 etc. A solução que eu encontrei para ser o mais prático depois de gerar um arquivo ".csv" em R, que será então aberta / compartilhada com usuários do Excel:

  1. Abra o arquivo CSV como texto (bloco de notas)
  2. Copiar (Ctrl + A, Ctrl + C).
  3. Cole-o em uma nova folha de excel -é tudo vai colar em uma coluna na forma de textos longos.
  4. Escolha / seleccionar esta coluna.
  5. Vá para Data- "Texto para colunas ...", na janela aberta escolha "delimitado" (seguinte). Verifique se "vírgula" está marcada (marcação já vai mostrar a separação dos dados para colunas abaixo) (ao lado), nesta janela você pode escolher a coluna que deseja e marcá-lo como texto (em vez de general) (Finish).

HTH

Aqui é o método simples que usamos no trabalho aqui ao gerar o arquivo CSV, em primeiro lugar, ele faz alterar os valores um pouco para que ele não é adequado em todas as aplicações:

Prepend um espaço para todos os valores em CSV

Este espaço vai ser retirado pelo Excel a partir de números como "1"," 2.3" e '-2.9e4', mas permanecerá em datas como '1993/01/10' e booleans como 'TRUE', impedindo-os sendo convertidas em tipos de dados internos do Excel.

Ele também pára aspas sendo zapped na leitura dentro, assim que uma maneira infalível de tornar o texto em um csv permanecem inalterados por excel MESMO SE é algum texto como "3,1415" é cercar-lo com aspas e vai preceder a seqüência inteira com um espaço, ou seja, (usando aspas simples para mostrar o que você deve digitar) "3,1415". Então, em excel você sempre tem a string original, exceto que é cercado por aspas duplas e prefixado por um espaço, então você precisa de conta para aqueles em qualquer fórmulas etc.

(Assumindo Excel 2003 ...)

Ao usar as colunas de texto-para-assistente tem, no Passo 3 você pode ditar o tipo de dados para cada uma das colunas. Clique na coluna na visualização e alterar a coluna mau comportamento de "Geral" para "Texto".

Esta é uma única maneira que eu sei como fazer isso sem mexer dentro do próprio arquivo. Como de costume com o Excel, eu aprendi isso, batendo com a cabeça na mesa durante horas.

Alterar a extensão de arquivo .csv para .txt; isto irá parar Excel a partir do auto-converter o arquivo quando ele é aberto. Aqui está como eu fazê-lo: abra o Excel para uma planilha em branco, fechar a folha em branco, em seguida, File => Open e escolha o seu arquivo com a extensão .txt. Este forças do Excel para abrir o "Texto Import Wizard", onde ele vai pedir-lhe perguntas sobre como você quer interpretar o arquivo. Primeiro você escolhe seu delimitador (vírgula, tabulação, etc ...), então (aqui é a parte importante) que você escolher um colunas conjunto de colunas e selecione a formatação. Se você quer exatamente o que está no arquivo em seguida, escolha "Texto" e Excel irá exibir apenas o que está entre os delimitadores.

2018

A única solução adequada que funcionou para mim (e também sem modificar o CSV ).

Excel 2010:

  1. Criar uma nova pasta de trabalho
  2. Dados> From Text> Selecione o arquivo CSV
  3. No pop-up, escolha a opção "Delimitado" botão de rádio, em seguida, clique em "Next>"
  4. Delimiters caixas de seleção: somente marque "Vírgula" e desmarque as outras opções e clique em "Next>"
  5. Na "pré-visualização de dados", desça para a extrema direita, em seguida, mantenha a tecla Shift e clique na última coluna (isto irá selecionar todas as colunas). Agora, no "formato de dados da coluna", selecione o botão de opção "Texto" e clique em "Finish".

Excel Office365: (versão cliente)

  1. Criar uma nova pasta de trabalho
  2. Dados> From Text / CSV> Selecione o arquivo CSV
  3. detecção do tipo de dados> não detectam

Nota:. Excel Office365 (versão web), como eu estou escrevendo isso, você não será capaz de fazer isso

(Excel 2007 e posteriores)

Como forçar o Excel para não "detectar" formatos de data sem editar o arquivo de origem

Ou:

  • renomeie o arquivo como .txt
  • Se você não pode fazer isso, em vez de abrir o arquivo CSV diretamente no Excel, crie um novo livro, em seguida, ir para
    Data > Get external data > From Text
    e selecione seu CSV.

De qualquer maneira, você será presenteado com opções de importação, basta selecionar cada coluna contendo datas e dizer Excel para o formato como "texto" não "geral".

Nenhuma das soluções oferecidas aqui é uma boa solução. Ele pode funcionar para casos individuais, mas somente se você está no controle da tela final. Tome meu exemplo: meu trabalho lista de produtos que vendem para o varejo produz. Esta é em formato CSV e contêm partes de códigos, alguns deles começam com zero de, conjunto pelos fabricantes (não sob nosso controle). Tirar os zeros à esquerda e você pode realmente corresponder outro produto. clientes de varejo deseja que a lista em formato CSV por causa de programas de processamento de back-end, que também estão fora de nosso controle e diferentes por cliente, por isso não podemos mudar o formato dos arquivos CSV. Sem o prefixo '=', nem guias adicionado. Os dados nos arquivos CSV matérias é correta; que é quando os clientes abrir esses arquivos em Excel Os problemas começam. E muitos clientes não são realmente habilidosas computador. Eles podem apenas sobre aberto e salvar um anexo de e-mail. Estamos pensando em fornecer os dados em dois formatos ligeiramente diferentes:. Um como Excel Friendly (usando as opções sugeridas acima, adicionando um TAB, o outro como o 'mestre' Mas isto pode ser uma ilusão, como alguns clientes não vão entender por que o que precisamos fazer isso. Enquanto isso continuamos a manter explicando por que eles, por vezes, ver os dados 'erradas' em suas planilhas. Até que a Microsoft faz uma mudança adequada não vejo nenhuma resolução adequada a este, desde que não se tem controle sobre como os usuários finais usar os arquivos.

O que eu fiz para este mesmo problema foi adicionar o seguinte antes de cada valor CSV: "=" "" e um aspas duplas depois de cada valor CSV, antes de abrir o arquivo em Excel. Ter os seguintes valores, por exemplo:

012345,00198475

Estes devem ser alteradas antes da abertura no Excel para:

"="""012345","="""00198475"

Depois de fazer isso, cada valor de célula aparece como uma fórmula no Excel e assim não será formatado como um número, data, etc. Por exemplo, um valor de 012345 aparece como:

="012345"

Eu jus esta semana se deparar com esta convenção, o que parece ser uma excelente abordagem, mas eu não posso encontrá-lo mencionado em qualquer lugar. Alguém está familiarizado com ele? Você pode citar uma fonte para isso? Eu não olhei para horas e horas, mas estou esperando que alguém vai reconhecer esta abordagem.

Exemplo 1: = ( "012345678905") é exibido como 012345678905

Exemplo 2:. = ( "") 1954-12-12 exibido como 1954/12/12 , não 1954/12/12

Não é o Excel. Windows faz reconhecer a fórmula, os dados como uma data e autocorrects. Você tem que alterar as configurações do Windows.

"Painel de Controle" (-> "Switch to Classic View") -> "Regional and Language Opções" -> guia "Opções Regionais" -> "Personalizar ..." -> guia "Números" -> E em seguida, alterar os símbolos de acordo com o que você quer.

http: // www. pcreview.co.uk/forums/enable-disable-auto-convert-number-date-t3791902.html

Ele vai trabalhar no seu computador, se essas configurações não são alteradas, por exemplo, no computador dos seus clientes que eles vão ver datas em vez de dados.

Oi eu tenho o mesmo problema,

Eu escrevo este vbscipt para criar outro arquivo CSV. O novo arquivo CSV terá um espaço na fonte de cada campo, para excel vai entendê-la como texto.

Assim que você criar um arquivo .vbs com o código abaixo (por exemplo Modify_CSV.vbs), salve e feche-lo. Drag and Drop o arquivo original para o arquivo VBScript. Ele vai criar um novo arquivo com "SPACE_ADDED" para nome do arquivo no mesmo local.

Set objArgs = WScript.Arguments

Set objFso = createobject("scripting.filesystemobject")

dim objTextFile
dim arrStr ' an array to hold the text content
dim sLine  ' holding text to write to new file

'Looping through all dropped file
For t = 0 to objArgs.Count - 1
    ' Input Path
    inPath = objFso.GetFile(wscript.arguments.item(t))

    ' OutPut Path
    outPath = replace(inPath, objFso.GetFileName(inPath), left(objFso.GetFileName(inPath), InStrRev(objFso.GetFileName(inPath),".") - 1) & "_SPACE_ADDED.csv")

    ' Read the file
    set objTextFile = objFso.OpenTextFile(inPath)


    'Now Creating the file can overwrite exiting file
    set aNewFile = objFso.CreateTextFile(outPath, True) 
    aNewFile.Close  

    'Open the file to appending data
    set aNewFile = objFso.OpenTextFile(outPath, 8) '2=Open for writing 8 for appending

    ' Reading data and writing it to new file
    Do while NOT objTextFile.AtEndOfStream
        arrStr = split(objTextFile.ReadLine,",")

        sLine = ""  'Clear previous data

        For i=lbound(arrStr) to ubound(arrStr)
            sLine = sLine + " " + arrStr(i) + ","
        Next

        'Writing data to new file
        aNewFile.WriteLine left(sLine, len(sLine)-1) 'Get rid of that extra comma from the loop


    Loop

    'Closing new file
    aNewFile.Close  

Next ' This is for next file

set aNewFile=nothing
set objFso = nothing
set objArgs = nothing

Sem modificar seu arquivo CSV, você pode:

  1. Alterar a opção Formatar células do Excel para "texto"
  2. Em seguida, usando o "Texto Assistente de importação" para definir as células CSV.
  3. Uma vez importado de exclusão que os dados
  4. , em seguida, basta colar como texto simples

excel formato vai corretamente e separar as células CSV como texto formatado ignorando formatos de data automática.

Uma espécie de trabalho bobo ao redor, mas ele bate modificar os dados CSV antes de importar. Andy Baird e Richard espécie de iludiu com este método, mas perdeu a alguns passos importantes.

Eu sei que esta é uma discussão antiga. Para aqueles como eu, que ainda tem esse problema usando Office 2013 via PowerShell com objeto pode usar o método OpenText . O problema é que este método tem muitos argumentos, que às vezes são mutuamente exclusivos. Para resolver esse problema, você pode usar o método invoke-namedparameter introduzido em este post. Um exemplo seria

$ex = New-Object -com "Excel.Application"
$ex.visible = $true
$csv = "path\to\your\csv.csv"
Invoke-NamedParameter ($ex.workbooks) "opentext" @{"filename"=$csv; "Semicolon"= $true}

Infelizmente eu só descobri que este método de alguma maneira quebra o CSV analisar quando as células contêm quebras de linha. Isto é apoiado pelo csv mas Microsofts implementação parece estar sob escuta. Também alguma forma não detectar caracteres específicos alemão. Dando-lhe a cultura correta não alterar esta behaveiour. Todos os arquivos (CSV e script) são salvos com codificação UTF-8. Primeiro eu escrevi o seguinte código para inserir a célula csv por celular.

$ex = New-Object -com "Excel.Application"
$ex.visible = $true;
$csv = "path\to\your\csv.csv";
$ex.workbooks.add();
$ex.activeWorkbook.activeSheet.Cells.NumberFormat = "@";
$data = import-csv $csv -encoding utf8 -delimiter ";"; 
$row = 1; 
$data | %{ $obj = $_; $col = 1; $_.psobject.properties.Name |%{if($row -eq1){$ex.ActiveWorkbook.activeSheet.Cells.item($row,$col).Value2= $_ };$ex.ActiveWorkbook.activeSheet.Cells.item($row+1,$col).Value2 =$obj.$_; $col++ }; $row++;}

Mas isso é extemamente lento, é por isso que eu olhei para uma alternativa. Appearently Excel permite que você defina os valores de um intervalo de células com uma matriz. Então eu usei o algoritmo em este blog para transformar o CSV em um multiarray.

function csvToExcel($csv,$delimiter){
     $a = New-Object -com "Excel.Application"
     $a.visible = $true

    $a.workbooks.add()
     $a.activeWorkbook.activeSheet.Cells.NumberFormat = "@"
     $data = import-csv -delimiter $delimiter $csv; 
     $array = ($data |ConvertTo-MultiArray).Value
     $starta = [int][char]'a' - 1
     if ($array.GetLength(1) -gt 26) {
         $col = [char]([int][math]::Floor($array.GetLength(1)/26) + $starta) + [char](($array.GetLength(1)%26) + $Starta)
     } else {
         $col = [char]($array.GetLength(1) + $starta)
     }
     $range = $a.activeWorkbook.activeSheet.Range("a1:"+$col+""+$array.GetLength(0))
     $range.value2 = $array;
     $range.Columns.AutoFit();
     $range.Rows.AutoFit();
     $range.Cells.HorizontalAlignment = -4131
     $range.Cells.VerticalAlignment = -4160
}

 function ConvertTo-MultiArray {
     param(
         [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)]
         [PSObject[]]$InputObject
     )
     BEGIN {
         $objects = @()
         [ref]$array = [ref]$null
     }
     Process {
         $objects += $InputObject
     }
     END {
         $properties = $objects[0].psobject.properties |%{$_.name}
         $array.Value = New-Object 'object[,]' ($objects.Count+1),$properties.count
         # i = row and j = column
         $j = 0
         $properties |%{
             $array.Value[0,$j] = $_.tostring()
             $j++
         }
         $i = 1
         $objects |% {
             $item = $_
             $j = 0
             $properties | % {
                 if ($item.($_) -eq $null) {
                     $array.value[$i,$j] = ""
                 }
                 else {
                     $array.value[$i,$j] = $item.($_).tostring()
                 }
                 $j++
             }
             $i++
         }
         $array
     } 
} 
csvToExcel "storage_stats.csv" ";"

Você pode usar o código acima como é que deve converter qualquer CSVs para o Excel. Basta alterar o caminho para o CSV e o caractere delimitador na parte inferior.

No meu caso, "Sept8" em um arquivo CSV gerado usando R foi convertido em "8-Sept" pelo Excel 2013. O problema foi resolvido usando write.xlsx2 function () no pacote xlsx para gerar o arquivo de saída em xlsx formato, que pode ser carregado pelo Excel sem conversão indesejada. Então, se você é dado um arquivo CSV, você pode tentar carregá-lo em R e convertê-lo em xlsx usando a função write.xlsx2 ().

Uma solução usando o Google Drive (ou números, se você estiver em um Mac):

  1. Abra os dados no Excel
  2. Definir o formato da coluna com dados incorretos para Texto (Formatar> Células> Number> Texto)
  3. Coloque o .csv para o Google Drive, e abri-lo com as Planilhas Google
  4. Copiar a coluna ofender
  5. Colar coluna em Excel como texto (Editar> Colar especial> Text)

Como alternativa, se você estiver em um Mac para a etapa 3 pode abrir os dados em números.

(EXCEL 2016 e mais tarde, na verdade eu não tentei em versões mais antigas)

  1. Abrir nova página em branco
  2. Vá para a aba "Dados"
  3. Clique em "From Text / CSV" e escolha o arquivo CSV
  4. Verifique na pré-se seus dados estão corretos.
  5. Em ?ase quando alguma coluna é convertido para data clique em "Editar" e, em seguida, selecione o tipo de texto clicando no calendário na cabeça da coluna
  6. Clique em "Close & Load"

Ok encontrou uma maneira simples de fazer isso no Excel 2003 até 2007. Abra um xls livro em branco. Então vá ao menu dados, importar dados externos. Selecione o arquivo CSV. Vá até o assistente e, em seguida, em "formato de dados da coluna", selecione qualquer coluna que precisa ser forçado a "texto". Isto irá importar a coluna inteira como um formato de texto prevenção Excel de tentar tratar quaisquer células específicas como uma data.

Esta questão ainda está presente no Mac Office 2011 e Office 2013, eu não posso impedir que aconteça. Parece uma coisa tão básica.

No meu caso eu tinha valores como "12" e "7-12" dentro do CSV fechado corretamente dentro aspas, este converte automaticamente para uma data dentro do Excel, se você tentar posteriormente convertê-lo em apenas texto simples você teria uma representação numérica da data, como 43768. Além disso, ele reformata grandes números encontrados em códigos de barras e números EAN para 123E números + novamente que não pode estar de volta convertido.

Eu descobri que as Planilhas Google do Google Drive does not converter os números para datas. Os códigos de barras têm vírgulas neles a cada 3 personagens, mas estes são facilmente removidos. Ele lida com CSVs realmente bem, especialmente quando se lida com MAC / Windows CSVs.

Pode salvar alguém algum dia.

A solução mais fácil Eu só descobri isso hoje.

  • Abrir no Word
  • Substitua todos os hífens, com traços en
  • Salvar e fechar
  • Abrir no Excel

Quando você estiver edição feito, você sempre pode abri-lo backup no Word novamente para substituir os traços en com hífens novamente.

Colar tabela em palavra. Faça uma pesquisa / substituir e mudar tudo - (traços) em - (traço duplo). Copiar e colar em Excel. Pode fazer mesmo para outros símbolos (/), etc. Se a necessidade de mudar de volta para uma pitada de vez em Excel, apenas formatar a coluna de texto, em seguida, fazer a mudança. Espero que isso ajude.

Eu faço isso para números de cartão de crédito, que continuam convertendo para a notação científica: eu acabar importando minha .csv para planilhas do Google. As opções de importação agora permitem a formatação automática disable de valores numéricos. I definir as colunas sensíveis para texto sem formatação e download como xlsx.

É um fluxo de trabalho terrível, mas pelo menos os meus valores são deixadas do jeito que deve ser.

Eu fiz este macro VBA que formata basicamente o intervalo de saída como texto antes de colar os números. Funciona perfeito para mim quando eu quero colar valores como 8/11, 23/6, 1/3 etc., sem Excel interpretando-as como datas.

Sub PasteAsText()
' Created by Lars-Erik Sørbotten, 2017-09-17
Call CreateSheetBackup

Columns(ActiveCell.Column).NumberFormat = "@"

Dim DataObj As MSForms.DataObject
Set DataObj = New MSForms.DataObject
DataObj.GetFromClipboard

ActiveCell.PasteSpecial

End Sub

Estou muito interessado em saber se isso funciona para outras pessoas também. Eu estive procurando uma solução para este problema por um tempo, mas eu não vi uma solução vba rápida a ele antes que não incluem a inserção 'na frente do texto de entrada. Este código mantém os dados em sua forma original.

Se você colocar uma vírgula invertida no início do campo, ele será interpretado como texto.

Exemplo: 25/12/2008 se torna '25/12/2008

Você também é capaz de selecionar o tipo de campo durante a importação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top