Anzeige
Archiv - Navigation
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro / Fehler 7

Makro / Fehler 7
17.04.2008 10:55:05
Dan
Hi zusammen,
ich habe ein ziemlich dringendes Problem mit einer Mappe, die vor langer Zeit in Excel 2000 erzeugt wurde und nun unter Excel 2007 laufen soll. Ein Zurückschwenken auf 2000 ist weder Option noch derzeit machbar, da alles auf einem Terminalserver - Cluster läuft und keine Fremdsysteme mit 2000er Excel zur Verfügung stehen.
In 2007 sind die Makros aktiviert und entsprechende Vertrauensstellungen gesetzt.
Das eigentlich triviale Makro fällt auf die Nase mit dem "Klassiker" - Fehler 7; nicht genügend Speicher.
ich weiß mir keinen Rat hinsichtlich der Ursache; unangenehm ist auch daß die Mappe heute laufen muss, da es sich um Auswertungen von Gehaltsabrechnungen handelt.
Was macht das Makro ?
1. ) Es holt von einer durch eine externe Aplikation zubereiteten Textdatei dessen Inhalt.
2. ) Es pumpt diesen in eine ( zuvor durch das Makro bereinigten ) Arbeitsmappe
3. )ersetzt bestimmte Begriffe
4. ) strukturiert und gliedert das Ergebnis nach bestimmten Merkmalen.
Code folgt; das Makro stoppt mit der genannten Fehlermeldung an der hier fett dargestellten Stelle.
Range("A5").Select
Selection.RemoveSubtotal
Range("A6:F215").Select
Selection.Clear
Range("A6").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;M:\HR_XLT\HR_Output\10034.txt", Destination:=Range("A6"))
.Name = "10013_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 1, 2, 1)
.Refresh BackgroundQuery:=False
End With
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(5), _
Replace:=False, PageBreaks:=False, SummaryBelowData:=True
Selection.Subtotal GroupBy:=2, Function:=xlSum, TotalList:=Array(5), _
Replace:=False, PageBreaks:=False, SummaryBelowData:=True
Columns("A:A").Select
Range("A176").Activate
Selection.Replace What:="Gesamtergebnis", Replacement:="CC OVERALL TOTAL", _
LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
Columns("B:B").Select
Range("B176").Activate
Selection.Replace What:="Gesamtergebnis", Replacement:="KTO OVERALL TOTAL", _
LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
Columns("A:A").Select
Range("A176").Activate
Selection.Replace What:="*Ergebnis", Replacement:="Subtotal CC", LookAt:= _
xlPart, SearchOrder:=xlByColumns, MatchCase:=False
Columns("B:B").Select
Range("B176").Activate
Selection.Replace What:="*Ergebnis", Replacement:="Subtotal Kto.", LookAt _
:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False
Range("A1").Select
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro / Fehler 7
17.04.2008 11:10:16
Hajo_Zi
Hallo Dan,
auf selekt kann in VBA zu 99,9% verzichtet werden.
Du hast die Tips in der Hilfe schon umgesetzt?
Nicht genügend Speicher (Fehler 7)
Zusatzinfo
Es ist mehr Speicher erforderlich, als verfügbar ist, oder eine 64 KB-Segmentgrenze wurde erreicht. Dieser Fehler hat die folgenden Ursachen und Lösungen:
Es sind zu viele Anwendungen, Dokumente oder Quelldateien geöffnet.
Schließen Sie alle geöffneten Anwendungen, Dokumente oder Quelldateien, die Sie nicht benötigen.
Ein Modul oder eine Prozedur ist zu groß.
Teilen Sie sehr große Module oder Prozeduren in kleinere Komponenten auf. Dadurch wird zwar kein Speicher eingespart, aber das Überschreiten von 64 KB-Segmentgrenzen kann vermieden werden.
Sie haben Microsoft Windows im Standard-Modus gestartet.
Starten Sie Microsoft Windows erneut im erweiterten Modus.
Sie haben Microsoft Windows im erweiterten Modus gestartet, aber es ist kein virtueller Speicher mehr verfügbar.
Vergrößern Sie den virtuellen Speicher, indem Sie zusätzlichen Festplattenspeicher bereitstellen, oder stellen Sie sicher, daß freier Speicherplatz vorhanden ist.
Es sind TSR-Programme (TSR = terminate-and-stay-resident) aktiv.
Entfernen Sie die TSR-Programme.
Es wurden zu viele Gerätetreiber geladen.
Entfernen Sie alle nicht benötigten Gerätetreiber.
Es ist kein Speicherplatz mehr für Public-Variablen verfügbar.
Verringern Sie die Anzahl von Public-Variablen.
Weitere Informationen erhalten Sie, wenn Sie das fragliche Element auswählen und F1 (unter Windows) oder HILFE (beim Macintosh) drücken.

Anzeige
AW: Makro / Fehler 7
17.04.2008 11:12:00
Renee
Hi Dan,
Einen entscheidenden Punkt hast du vergessen, bei der Aufzählung "was macht das Makro":
. 1) Es holt von einer durch eine externe Aplikation zubereiteten Textdatei dessen Inhalt.
und es addiert dabei jedesmal ein neues Queryobjekt, das die Mappe mit jedem Durchlauf des Makros anwachsen lässt.
Dies im Fall nicht irgendwo das Querytable gelöscht wird.
Gib mal in einem Direktfenster des VBE dies Zeile ein:
?Activesheet.QueryTables.Count
Die Zahl sagt dir wieviel Query du aktuell im Blatt hast. Richtigerweise müsste es nur 1 sein. Ist es mehr wirst du früher oder später in ein Memory Problem laufen.
GreetZ Renée
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige