無法匯入 Excel 97、 Excel 2000、 Excel 2002 及 Excel 2003 的大小超過 65,536 列的文字檔案

文章翻譯 文章翻譯
文章編號: 120596 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

在 Microsoft Windows,Microsoft Excel 2000、 Microsoft Excel 2002 和 Microsoft Office Excel 2003 的 Excel 97,無法完整地在開啟包含超過 65,536 列的文字檔案。您無法開啟這些檔案,因為這些版本的 Microsoft Excel 受限於 65,536 列。如果您開啟一個檔案包含比這更多的資料、 文字檔案截斷位於資料列 65,536,並且您會收到下列錯誤訊息:
未完全載入檔案。
但是,您可以使用巨集來開啟檔案並自動將文字分成多個工作表

備忘稿

版本的 Excel 稍早 Excel 97 有 16,384 列的限制。

版本的 Excel 稍後於 Excel 2003 有 1,048,576 資料列的限制。

其他相關資訊

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。下列範例巨集會會提示您輸入文字檔案名稱,然後到記憶體中開啟的檔案。如果資料列數目超過 65,536 個 Excel 工作表限制,巨集會將檔案分成多個工作表。此巨集只套用至檔案儲存為文字檔,並不會套用到任何其他檔案格式。巨集與資料庫檔案格式無法運作。

請注意因為這是一個巨集,使用它可能會比按一下 [檔案] 功能表上的 [開啟舊檔 明顯地慢。
   'All lines that begin with an apostrophe (') are remarks and are not
   'required for the macro to run.
				
   Sub LargeFileImport()

      'Dimension Variables
      Dim ResultStr As String
      Dim FileName As String
      Dim FileNum As Integer
      Dim Counter As Double
      'Ask User for File's Name
      FileName = InputBox("Please enter the Text File's name, e.g. test.txt")
      '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 Screen Updating Off
      Application.ScreenUpdating = False
      'Create A New WorkBook With One Worksheet In It
      Workbooks.Add template:=xlWorksheet
      'Set The Counter to 1
      Counter = 1
      'Loop Until the End Of File Is Reached
      Do While Seek(FileNum) <= LOF(FileNum)
         'Display Importing Row Number 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
          'Store Variable Data Into Active Cell
          If Left(ResultStr, 1) = "=" Then
             ActiveCell.Value = "'" & ResultStr
          Else
             ActiveCell.Value = ResultStr
          End If
          
          'For Excel versions before Excel 97, change 65536 to 16384
          If ActiveCell.Row = 65536 Then
             'If On The Last Row Then Add A New Sheet
             ActiveWorkbook.Sheets.Add
          Else
             'If Not The Last Row Then Go One Cell Down
             ActiveCell.Offset(1, 0).Select
          End If
          'Increment the Counter By 1
          Counter = Counter + 1
      'Start Again At Top Of 'Do While' Statement
      Loop
      'Close The Open Text File
      Close
      'Remove Message From Status Bar
      Application.StatusBar = False

   End Sub
				
附註 的巨集不會將資料剖析成欄。在使用巨集之後您可能也需要使用在 [資料] 功能表上的 [剖析] 命令來剖析資料所需。 當您在一個 Macintosh 上執行此巨集您嘗試開啟桌面上的檔案必須在之前具有下列檔名
Hard disk: 桌面資料夾:
其中 Hard disk 是硬碟的您的名稱。請注意桌面和資料夾單字之間沒有空格。

屬性

文章編號: 120596 - 上次校閱: 2007年5月7日 - 版次: 4.2
這篇文章中的資訊適用於:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
關鍵字:?
kbmt kbimport kbhowto kbcode KB120596 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:120596
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com