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