Como importar dados com mais de 256 campos ou colunas para o Excel

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 272729
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Planilhas do Microsoft Excel tem 256 colunas (coluna IV). Portanto, o Excel não pode aceitar dados com mais de 256 campos por registro em uma planilha. Ao tentar importar dados manualmente de um arquivo de banco de dados ou texto que possui mais de 256 campos por registro, os campos adicionais são truncados dos registros.

Você pode usar uma macro do Visual Basic for Applications para importar os dados em várias planilhas. Este artigo fornece um exemplo de macro que importa um banco de dados formatados separados por vírgula variável (CSV) com até 510 campos no Excel. A macro coloca os primeiros 256 campos em uma folha na pasta de trabalho e os campos restantes (começando com o campo 257th) em uma segunda planilha na pasta de trabalho.
Mais Informações
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Se seu banco de dados estiver em um formato diferente de CSV, salve novamente o banco de dados no formato CSV antes de importá-lo usando a macro a seguir.
  1. Inicie ou alterne para o Excel.
  2. No menu Ferramentas , aponte para macro e, em seguida, clique em Editor do Visual Basic .
  3. No menu Inserir , clique em módulo .
  4. No módulo, digite o seguinte código:
    Sub LargeDatabaseImport()    'In the event of an error, make sure the application is reset to    'normal.    On Error GoTo ErrorCheck    'Dimension Variables    Dim ResultStr As String    Dim FileName As String    Dim FileNum As Integer    Dim Counter As Double    Dim CommaCount As Integer    Dim WorkResult As String    'Ask for the name of the file.    FileName = InputBox("Please type the name of your text file, for example, test.txt")    'Turn off ScreenUpdating and Events so that users can't see what is     'happening and can't affect the code while it is running.    Application.ScreenUpdating = False    Application.EnableEvents = False    'Check for no entry.    If FileName = "" Then End        'Get next available file handle number.    FileNum = FreeFile()        'Open text file for input.    Open FileName For Input As #FileNum        'Turn ScreenUpdating off.    Application.ScreenUpdating = False    'Set the counter to 1.    Counter = 1    'Place the data in the first row of the column.    Range("A1").Activate    'Loop until the end of file is reached.    Do While Seek(FileNum) <= LOF(FileNum)        'Show row number being imported on status bar.        Application.StatusBar = "Importing Row " & _                Counter & " of text file " & FileName        'Store one line of text from file to variable.        Line Input #FileNum, ResultStr        'Initialize the CommaCount variable to zero.        CommaCount = 0                'Store the entire string into a second, temporary string.        WorkResult = ResultStr        'Parse through the first line of data and separate out records         '257 to 510.        While CommaCount < 255            WorkResult = Right(WorkResult, Len(WorkResult) - InStr(1, WorkResult, ","))            CommaCount = CommaCount + 1        Wend        'Parse out any leading spaces.        If Left(WorkResult, 1) = " " Then WorkResult = Right(WorkResult, Len(WorkResult) - 1)        'Ensure that any records that contain an "=" sign are         'brought in as text, and set the value of the current        'cell to the first 256 records.        If Left(WorkResult, 1) = "=" Then            ActiveCell.Value = "'" & Left(ResultStr, Len(ResultStr) - Len(WorkResult))        Else            ActiveCell.Value = Left(ResultStr, Len(ResultStr) - Len(WorkResult))        End If        'Ensure that any records that contain an "=" sign are         'brought in as text,and set the value of the next cell         'to the last 256 records.        If Left(WorkResult, 1) = "=" Then            ActiveCell.Offset(0, 1).Value = "'" & WorkResult        Else            ActiveCell.Offset(0, 1).Value = WorkResult        End If        'Move down one cell.        ActiveCell.Offset(1, 0).Activate        'Increment the Counter by 1.        Counter = Counter + 1        'Start again at top of 'Do While' statement.    Loop    'Close the open text file.    Close    'Take records 257-510 and move them to sheet two.    Columns("B:B").Select    Selection.Cut    Sheets("Sheet2").Select    Columns("A:A").Select    ActiveSheet.Paste    'Run the text-to-columns wizard on both sheets.    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _            Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _            :=Array(Array(1, 1), Array(2, 1), Array(3, 1))    Sheets("Sheet1").Select    Columns("A:A").Select    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _            Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _            :=Array(Array(1, 1), Array(2, 1), Array(3, 1))    'Reset the application to its normal operating environment.    Application.StatusBar = False    Application.EnableEvents = True    Application.ScreenUpdating = True    Exit SubErrorCheck:    'Reset the application to its normal operating environment.    Application.StatusBar = False    Application.EnableEvents = True    Application.ScreenUpdating = True    MsgBox "An error occured in the code."End Sub						
  5. No menu arquivo , clique em Fechar e voltar para Microsoft Excel .
  6. No menu Ferramentas , aponte para macro e, em seguida, clique em macros .
  7. Na lista de macros, selecione a macro LargeDatabaseImport . Clique em Executar .
  8. Na caixa de diálogo que aparece, digite o caminho e nome do arquivo CSV que deseja importar.
Referências
Para obter mais informações sobre como usar o código de exemplo neste artigo, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
212536OFF2000: Como executar o código de exemplo de artigos da Knowledge Base
Para obter informações adicionais sobre como obter ajuda com Visual Basic forApplications, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
226118OFF2000: Programação recursos para o Visual Basic for Applications
Para obter informações adicionais sobre especificações do Excel e limiatons, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
264626Descrição das especificações do Excel 2000
XL2000 inf XL2002

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 272729 - Última Revisão: 12/05/2015 21:39:24 - Revisão: 5.2

Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbvba kbprogramming kbautomation kbmacro kbhowto KB272729 KbMtpt
Comentários