title image


Smiley Re: Excel-Fehlermeldung: Die Festplatte ist voll.
Hallo Excelwurzel



Ich finde es Klasse, dass du es hinbekommen hast, dein Excel XP auf 256 MB auf zu blasen.



Normalerweise ist schon vorher Schluss



Das steigert sich aber von Excelversion zu Excelversion und soll bei Office 2003 nur noch vom Arbeitsspeicher abhängig sein. Genauere Informationen bin ich selbst am suchen, seit es die Seite Xlimits nicht mehr gibt.



Excel kann pro Instanz intern nur eine bestimmte Menge an Arbeitsspeicher verwalten. Ich glaube mich zu errinnern, bei Excel XP um die 80 MB gelesen zu haben.



Ich schreibe absichtlich "pro Instanz", weil Excel zu den Programmen gehört, die man mehrmals starten kann, so wie auch den Explorer. Und Excel kann dann Pro Instanz ca 80 MB Arbeitsspeicher verwalten. Zusätzlich, zu den 80 MB verwendet Excel auch noch einen Teil der Festplatte (Auslagerungsdatei), und erst wenn beide an der Grenze sind geht gar nichts mehr.



In meinem Arbeitsrechner befinden sich zur Zeit 1,5 GB Arbeitsspeicher und ich bin auch über die interne Speicherverwaltung gestossen.

Aber wie gesagt, oftmals habe ich bis zu fünf verschiedene Excelinstanzen geöffnet.

So lässt es sich meißt handeln

Aus Uralter Zeit (damals waren 16MB Arbeitsspeicher normal) gibt es noch einen Trick:

Man füllt eine Variable mit Leerstellen. Um Platz zu haben für die Leerstellen muss excel den Arbeitsspeicher leermachen und die Daten auf die festplatte auslagern. Da endet auch schon das Programm und der Arbeitsspeicher ist nahezu jungfreulich.



Viel bringt das heutzutage nicht mehr, aber in letzter verzweiflung kannst du es ja mal Probieren: (ich habe es auf meine heutigen Verhältnisse angepasst, früher war das mal ein Einzeiler)Beobachte mal den Speicherbedarf von Excel im Taskmanager während du das Programm schrittweise laufen lässt









'--------------------------------------

Sub Speicher()

Dim A

On Error Resume Next

If A = "" Then

    Err = 0

    Space (1082000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (582000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (482000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (382000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (282000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (182000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (172000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (162000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (152000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (142000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (132000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (122000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (112000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (102000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (92000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (82000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

If A = "" Then

    Err = 0

    Space (72000000)

    Debug.Print Err

    If Err = 0 Then Exit Sub

End If

On Error GoTo 0

End Sub







Code eingefügt mit Syntaxhighlighter 4.0




Viel Erfolg wünscht Wastl



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: