Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler '1004', zu viele verschiedene Zellf

Laufzeitfehler '1004', zu viele verschiedene Zellf
01.03.2006 14:32:10
webmark
Hallo allerseits,
es geht bei meiner Anfrage konkret um eine Fehlermeldung, die ich bei Ausfuehren eines Excel-Makros auf einem Laptop bekomme - wenn ich das Makro auf einem
anderen Rechner (= PC) ausfuehre, laeuft es ohne Schwierigkeiten durch.
Die Fehlermeldung lautet: Laufzeitfehler '1004', zu viele verschiedene Zellformate.
Ich hab mich schon mal im WWW umgeschaut - dabei sind mir va 3 interessante Infos aufgefallen:
1 http://support.microsoft.com/default.aspx?scid=kb;de;213904
"Dieses Problem tritt auf, wenn die Arbeitsmappe mehr als ca. 4.000 verschiedene Kombinationen von Zellformaten enthält."
2 http://office.microsoft.com/de-ch/assistance/HP051992911031.aspx
"Zellformate pro Arbeitsmappe 4.000"
3 https://www.herber.de/forum/archiv/320to324/t323133.htm
Beschreibung, was ist ein zellformat
Daraus waere eigtl. herauszulesen, dass es sich um zu viele Zellformate handeln koennte - eh klar - allerdings gibt Microsoft nur eine ungefaehre Obergrenze
an - weiss jemand, von was die Obergrenze abhaengt ?
Prinzipiell geht es darum, relevante Berichte (= Tabellenblaetter aus diversen Excelfiles) in eine neue Arbeitsmappe (INFOFILE) für einen Berichtsempfänger
zusammenzukopieren.
Alle Dateien befinden sich in 1 Verzeichnis - nacheinander werden einzelne Excel-Files geoeffnet, aus anderen Files werden Arbeitsblaetter in diese
Excel-Files gemoved. Zum Schluss soll 1 neues File entstanden sein.
Hier ein gekuerzter Ausschnitt aus dem Code.
WICHTIG: Interessanterweise bekomm ich den Laufzeitfehler nur bei 'INFO-2 -> Berichtsmappe für 2
Hier werden ca. 50 Excel-files geoeffnet und daraus Arbeitsblaetter kopiert (alle anderen Codeteile arbeiten mit hoechstens 30 Excelfiles, aus denen
Tabellenblaetter kopiert werden !)
Option Explicit
'
Dim MAKROFILE As String
Dim INFOFILE As String 'Name der zu erstellenden Excel-Datei -> Endprodukt
Dim PFAD As String 'Pfad der Dateien
Dim DATENFELD As Range
Dim BEREICH As Range
Dim REPORTFILE As String 'Filename der durch Berichtsgruppe erstellten Reports (FILE....XLS)
Dim REPORTNAME As String 'Korrekter Reportname des XLR-Berichtes + Zusatz (-> Parameter)
Dim SHEETNAME As String 'Sheet in Reportfile das kopiert werden soll
Dim ANZAHLSHEETS As Integer

Sub INFO_FILE_ERSTELLEN()
MAKROFILE = ActiveWorkbook.Name
PFAD = "C:\XLexport\MonthlyOverviewReport\"
Application.DisplayAlerts = False
With Application
.Calculation = xlAutomatic
End With
'INFO-1 -> Berichtsmappe für 1
INFOFILE = "INFO_1.XLS"
Set BEREICH = Range("'" + MAKROFILE + "'" + "!" + "INFO_1")
Workbooks.Add xlWorksheet
Call SPEICHERN
ANZAHLSHEETS = 1
For Each DATENFELD In BEREICH
REPORTNAME = DATENFELD.Value
Call SCHLAUFE(REPORTNAME)
Next
Sheets("Tabelle1").Select
ActiveWindow.SelectedSheets.Delete
Call SPEICHERN
ActiveWorkbook.Close
'INFO-2 -> Berichtsmappe für 2
INFOFILE = "INFO_2.XLS"
Set BEREICH = Range("'" + MAKROFILE + "'" + "!" + "INFO_2")
Workbooks.Add xlWorksheet
Call SPEICHERN
ANZAHLSHEETS = 1
For Each DATENFELD In BEREICH
REPORTNAME = DATENFELD.Value
Call SCHLAUFE(REPORTNAME)
Next
Sheets("Tabelle1").Select
ActiveWindow.SelectedSheets.Delete
Call SPEICHERN
ActiveWorkbook.Close
'INFO-3 -> Berichtsmappe für VP-3 short Version
INFOFILE = "INFO_3.XLS"
Set BEREICH = Range("'" + MAKROFILE + "'" + "!" + "INFO_3")
Workbooks.Add xlWorksheet
Call SPEICHERN
ANZAHLSHEETS = 1
For Each DATENFELD In BEREICH
REPORTNAME = DATENFELD.Value
Call SCHLAUFE(REPORTNAME)
Next
Sheets("Tabelle1").Select
ActiveWindow.SelectedSheets.Delete
Call SPEICHERN
ActiveWorkbook.Close
End Sub


Sub SCHLAUFE(REPORTNAME)
' schreibt Reportname in Zelle "ReportName":
Range(MAKROFILE + "!" + "ReportName").Value = REPORTNAME
' Variable REPORTFILE übernimmt Wert gem. Zelle "ReportFile"
' "ReportFile" = Ergebnis von sVerweis auf Zelle "ReportName":
REPORTFILE = Range(MAKROFILE + "!" + "ReportFile").Value
' Öffnet Report
Workbooks.Open Filename:=PFAD + REPORTFILE
SHEETNAME = Range(MAKROFILE + "!" + "SheetName").Value
Sheets(SHEETNAME).Move After:=Workbooks(INFOFILE).Sheets(ANZAHLSHEETS)	'hier kommt die Fehlermeldung Laufzeitfehler '1004', zu viele verschiedene
Zellformate.
ANZAHLSHEETS = ANZAHLSHEETS + 1
Sheets(SHEETNAME).Name = REPORTNAME
With ActiveSheet.PageSetup   'Fusszeile = Filename + Registername
.LeftFooter = "&6XLR / &F-&A / &D-&T / Name"
End With
Range("A1").Select
Workbooks(REPORTFILE).Close
End Sub

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

Sub SPEICHERN()
'Speichern
ActiveWorkbook.SaveAs Filename:= _
PFAD + INFOFILE, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

Langer Rede kurzer Sinn:
wie oben schon einmal erwaehnt:
Die Fehlermeldung ist eigtl. klar - es handelt sich anscheinend um zu viele Zellformate - da M$ allerdings nur eine ungefaehre Obergrenze fuer die Anzahl der Zellformate in einem Excelfile angibt - weiss jemand, von was diese Obergrenze abhaengt ?
Vielen Dank,
Markus

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '1004', zu viele verschiedene Z
02.03.2006 09:13:55
webmark
Hallo Micha,
danke fuer den informativen Link.
Trotzdem bleibt in meinem Fall noch eine Frage offen:
Das Excel-Makro laeuft nur auf best. Rechnern nicht (bzw. haengt es vielleicht auch am Userkontext) - auf meinem Rechner mit meinem User wird alles sauber abgeschlossen.
In diesem Ergebnisfile hab ich die Zellformate dann mit einem anderen Excel-Makro zaehlen lassen - 458 verschiedene Zellformate in 54 Tabellenblaettern. Waere also weit unter dem Limit ?
Aus dem Code ist ersichtlich:
es gibt 1 Excelfile, aus dem heraus das Makro ausgefuehrt wird. In diesem gibt es auch eine Liste von Files, die abgearbeitet wird - aus diesen Files werden Tabellenblaetter in eine neue Arbeitsmappe kopiert. Dazu werden diese Files geoeffnet, dann wird kopiert und dann wird per Workbooks(REPORTFILE).Close jedes File wieder geschlossen, bevor ein neues geoeffnet wird. In jedem dieser Files sind wieder hoechstens 420 verschiedene Zellformate (tw. auch unter 150).
Das heisst zusammengefasst, dass das Zielfile am Ende 458 verschiedene Zellformate hat, das File aus dem das Makro heraus ausgefuehrt wird (das also waehrend der ganzen Aktion immer offen ist) hat 84 verschiedene Zellformate und drittens haben die Files, aus denen Tabellenblaetter kopiert werden jeweils zw. 130 und 420 verschiedene Zellformate.
In Summe waeren das wenn ich grob rechne nicht mehr als 1000 verschiedene Zellformate die pro Kopiervorgang in den 3 jeweils geoeffneten Arbeitsmappen vorhanden sind ?
(ausserdem wirkt die Zellformatlimitierung lt. Beschreibung eigtl. pro Arbeitsmappe ...)
Eigtl. schaut das fuer mich im Moment nach einem Bug aus.
Ich verstehs einfach nicht (vor allem, weil es auf manchen Rechnern bzw. mit manchen Userprofilen funktioniert).
Bin also wirklich ratlos und daher wuerd mich ein Input natuerlich freuen.
Gruesse, Markus
Ps ich hoffe, ich hab durch meine Erklaerung niemanden verwirrt ;-)
Anzeige

49 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige