In Microsoft Excel 2003 , erhalten Sie die Fehlermeldung " Datei wurde nicht vollständig geladen " , wenn Sie versuchen , eine große Datei zu öffnen. Dies geschieht, wenn die Daten -Datei enthält zu viele Zeilen . Standardmäßig ist Excel 2003 nur in der Lage Importieren von Arbeitsblättern mit 65.536 Zeilen . Microsoft hat jedoch ein Makro -Vorlage , die zerbricht große Datenmengen in mehreren Arbeitsblättern , so dass Anwender Daten , die sonst überschreiten würde Excel die Zeile Grenze importieren entwickelt. Anleitung
1
Klicken Sie auf " Extras" auf "Makro " , und wählen Sie "Makros ".
2
Geben Sie einen Namen für Ihr Makro im Feld "Name" , wie als " LargeFileImport ", und klicken Sie auf " erstellen". Der Visual Basic- Editor wird automatisch geöffnet.
3
Doppelklick auf " (Name) Module" im Fenster "Eigenschaften" und geben Sie " LargeFileModule . "
4 < p> Klicken Sie auf das "+ "-Symbol neben " Microsoft Office Excel-Objekte . "
5
Doppelklicken Sie auf " LargeFileModule ", um den "Code "-Fenster zu öffnen.
6
Kopieren Sie den folgenden in den "Code "-Fenster :
Sub LargeFileImport ()
'Dimension Variablen
Dim ResultStr As String Dim FileName
As String Dim
FileNum As Integer Dim
Zähler As Double
"Ask Benutzer für Dateinamen
FileName = InputBox (" Bitte geben Sie die Text -Datei die Namen, zB test.txt " )
'Check ohne Eintrag
Wenn FileName =" "Then End
' Weiter Verfügbar Feilenheft Anzahl
Virtuelle
FileNum = FreeFile ()
'Open Textdatei für Eingabegeräte Service
öffnen FileName For Eingang As # FileNum
' Turn Off Bildschirm aktualisiert
Anwendung . ScreenUpdating = False
' eine neue Arbeitsmappe mit einem Arbeitsblatt erstellen In It
Workbooks.Add Vorlage : = xlWorksheet
' setzen den Zähler auf 1
Zähler = 1
'Loop Bis zum Ende der Datei erreicht
Do While Seek ( FileNum ) <= LOF ( FileNum )
' Display Importieren Row Nummer Ein Status Bar
Application.StatusBar = "Importieren von Row" & _
Zähler & " der Textdatei " & FileName
'Store eine Textzeile aus der Datei in Variable
line Input # FileNum , ResultStr
'Store Variable Daten in aktive Zelle
If Left ( ResultStr , 1) = "=" Dann
ActiveCell.Value = " '" & ResultStr
Else
ActiveCell.Value = ResultStr
End If
' Für Excel -Versionen vor Excel 97 , ändern 65536-16384
Wenn ActiveCell.Row = 65536 Dann
"Wenn in der letzten Zeile fügen Sie dann ein neues Blatt
ActiveWorkbook.Sheets.Add
Else
' If Not The Last Row Dann gehen eine Zelle nach unten
ActiveCell.Offset (1 , 0). Wählen
End If
' Schrittweite des Zählers um 1 of
Zähler = + 1
' wieder bei Top Of ' Do While ' Statement