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

Arbeiten mit großen Dateien

Arbeiten mit großen Dateien
Werner
Hallo!
Wenn Dateien umfangreich werden, man also viele Makros und auch viele Daten in einer Datei hat, möchte man diese am liebsten trennen.
Was machen Experten bei umfangreicheren Projekten in der Praxis?
Lehrbuchgemäß kann man den Programmcode z.B. in "Personal.xls" oder in ein Addin mit der
Dateiextension ".xla" auslagern oder auch, am schnellsten mit VBA (hatten wir in diesem Forum vor einigen Tagen diskutiert) exportieren.
Ist das die richtige Methode? Bisher habe ich den Programmcode und die Daten in einer Datei, die inzwischen einen Umfang von ca. 4 MB hat. Einmal habe ich eine Fehlermeldung erhalten, dass Excel die Daten nicht mehr lesen könne und diese "vielleicht verloren" wären. Ein andermal hat Excel die Datei beim Abspeichern nicht gefunden, obwohl sie nach wie vor geöffnet war. Offenbar kommt es bei umfangreicheren Dateien in Excel manchmal zu Programmfehlern, die einem die Haare zu Berge stehen lassen.
Bin mal gespannt, zu erfahren, ob es noch andere Verfahren als die hier angedeuteten beim Umgang mit großen Dateien gibt. Dank im voraus!
Werner

AW: Arbeiten mit großen Dateien
06.05.2008 09:22:49
Bertram
Hallo Werner,
ich habe eine XLS mit knapp 10MB und die funktioniert einwandfrei.
Gruß
Bertram

AW: Arbeiten mit großen Dateien
Werner
Hallo Bertram,
klingt beruhigend, aber ich weiß trotzdem nicht, ob es allgemein üblich ist, Dateien so groß werden zu lassen und vor allem, Daten und Programme nicht voneinander zu trennen. Werner

AW: Arbeiten mit großen Dateien
06.05.2008 09:46:31
Hajo_Zi
Hallo Werner,
bei größeren Projekten trennen ich schon das Programm, die Daten und die Ablagedatei, verwaltet sich einfach besser. Ist meine Auffassung. Bei großen Dateien lasse ich auch ab und zu ein Bereinigungstool drüber laufen, falls VBA eingesetzt wird. Excel speicher noch viele Sachen die gar nicht mehr im Code sind. Hans hatte dazu vor Jahren in seinem Downloadbereich ein Add In. Das ich immer noch einsetze das jetzt aber nicht mewhr da ist. Aus welchem Grunde auch immer.

Anzeige
AW: Arbeiten mit großen Dateien
06.05.2008 09:56:40
Rudi
Hallo,
die Trennung hat den Vorteil, dass Programmanpassungen leichter weiter gegeben werden können.
Gruß
Rudi

AW: Arbeiten mit großen Dateien
Werner
Hallo Rudi,
klingt überzeugend. Also die Daten in die eine Datei, den Code in "Personal.xls" oder ein ".xla-Addin". Wenn dann eine weitere Datendatei erforderlich ist, kann auch diese über das Addin oder Personal.xls mit dem gesamten Programmcode versorgt werden. Werner

AW: Arbeiten mit großen Dateien
06.05.2008 10:27:00
Hajo_Zi
Hallo Werner,
Mir düftest Du Dein Programm nicht schicken falls es in der PersonL.XLS ist. Dies ist eine persöniche Arbeitsmappe die auf jedem Rechner anders aussehen kann. Mit Deiner Datei wüdest Du meine Makros überschreiben.
Gruß Hajo

Anzeige
AW: Arbeiten mit großen Dateien
06.05.2008 10:31:19
Rudi
Hallo,
Personl.xls würde ich nicht tun, da eben persönlich.
Einfach eine 'Programm.xls', die auf 'Daten.xls' zugreift.
Wenn es sich bei den Daten nur um Listen (Tabellen) handelt, empfiehlt sich das Speichern in einer Textdatei, da erheblich schneller. Allerdings ist das Handling recht kompliziert. Hier kann man sich das Leben mit temporären Sheets vereinfachen.
Gruß
Rudi

AW: Arbeiten mit großen Dateien
Werner
Hallo Hajo_Zi, hallo Rudi,
eure Hinweise zu Personal.xls kann ich so akzeptieren. Deshalb habe ich "Personal.xls" auch immer instinktiv gemieden. Eine Textdatei (also offenbar eine Word-Datei) passt aber auch nicht so recht, weil ich die Daten über eine Userform in Excel eingebe. Das ganze für eine Textdatei in Excel in Verbindung mit Word zu programmieren, ist zu schwer für mich. Ausserdem lassen sich die Daten (z.B. einzelne Datensätze) nur schwer in Excel anzeigen, wenn sie in Word gespeichert sind.
Es bleibt also die Verwendung eines Excel-Addins (mit der Extension .xla), in dem der Programmcode gespeichert ist. Ich exportiere den Code in das Addin und lösche ihn dann in der Originaldatei. Dann kann ich das Addin in alle Dateien importieren, in denen ich es brauche. Ist dies unter diesen Umständen die richtige Methode? Werner

Anzeige
AW: Arbeiten mit großen Dateien
06.05.2008 12:38:00
Rudi
Hallo,
kein Word! .txt
etwa so, geht aber so nur mit Konstanten, keine Formeln:
Sub tt() prcDatenExport Sheets(1) End Sub Sub prcDatenExport(wks As Worksheet) Dim vntData, vntTmp(), strTmp As String, intfile As Integer Dim i As Long, j As Long Const strFile As String = "c:\test\test.txt" 'anpassen Const strDelim As String = vbTab 'Trennzeichen Tab intfile = FreeFile vntData = wks.Range("A1").CurrentRegion ReDim vntTmp(1 To UBound(vntData, 2)) Open strFile For Output As intfile For i = 1 To UBound(vntData) For j = 1 To UBound(vntData, 2) vntTmp(j) = vntData(i, j) Next strTmp = Join(vntTmp, strDelim) Print #1, strTmp Next i Close intfile End Sub



Dann kann ich das Addin in alle Dateien importieren


Addins werden in Excel eingebunden, nicht in Dateien importiert.
Gruß
Rudi

Anzeige
schwerer Tobak
Werner
Hallo Rudi,
Hat sicherlich viel Arbeit gemacht, dieser Code. Besten Dank! Ich melde mich wieder, wenn ich ihn verdaut habe, wahrscheinlich erst morgen.
Werner

AW: schwerer Tobak
06.05.2008 14:06:00
Rudi
Hallo,

Hat sicherlich viel Arbeit gemacht, dieser Code.


Nö. Ist Standard.
Eigentlich die einzige vernünftige Methode .csv aus VBA zu erzeugen. Einfach so ändern:


Const strFile As String = "c:\test\test.csv"  'anpassen
Const strDelim As String = ";"   'Trennzeichen


Gruß
Rudi

Anzeige
AW: schwerer Tobak
06.05.2008 19:52:25
Antje
Hallo Rudi,
habe Deinen Code probiert funktioniert. Kannst Du mir bitte sagen wie der Code lautet, damit ich den Bereich kopieren kann wenn auch mal eine Leerzelle enthalten ist.
z.B. in folgenden Zellen steht:
A1 = 1
B1 = 2
C1 bis E1=leer
F1 = 3
A2 = 4
B2 bis E2 = leer
F3 = 5
Jetzt sollte der Bereich A1 bis F3 in die TXT kopiert werden.
Ich hoffe Du kannst mir helfen.
Vielen Dank im voraus
MFG Antje

AW: schwerer Tobak
07.05.2008 10:02:00
Rudi
Hallo,
es ist der gleiche Code. Bei Leerzellen folgen Trennzeichen aufeinender.
Gruß
Rudi

AW: schwerer Tobak
07.05.2008 11:05:00
Antje
Hallo Rudi,
wenn Bsp.
Tabelle1

 ABCDE
1asdasdasdsa  asdsad
21245   


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
dann wird Zellwert von E1 nicht mit gespeichert!
MFG Antje

Anzeige
AW: schwerer Tobak
07.05.2008 12:53:33
Rudi
Hallo,
ist klar. Der Code geht von einer richtigen Tabelle aus. D.h. mit Überschriften in Zeile1
schau mal in die Hilfe zu currentregion.
Gruß
Rudi

AW: schwerer Tobak
07.05.2008 14:07:00
Antje
Hallo Rudi,
Ich habe Excel 2003 unter currentregion habe ich nichts gefunden!
MFG Antje

Daten in WORD eingeben ist umständlich
Werner
Hallo Rudi,
bin den Code noch einmal durchgegangen. Habe ihn halb verstanden. Unklar ist, warum hier die
Anweisung "Current Region" zum Einsatz kommt. Laut meiner Fachliteratur wählt man damit einen Bereich
um eine aktive Zelle (oder einen aktiven Zellbereich) aus. Warum ist das hier nötig?
Um eine Datei aus WORD zu übertragen, muss man sie erst einmal, am besten aus einer Excel Userform heraus, anlegen. Doch wie man das machen soll, ist mir nicht klar. Die Daten, durch Komma o.ä. getrennt, in eine Word-Datei einzutippen, wäre bei einem Datensatz mit ca. 50 Datenfeldern etwas umständlich. Dadurch werden die Vorteile beim Import, die dein Code sicherlich aufweist, leider wieder zunichte gemacht. Der Vorschlag ist allerdings sehr interessant, wenn man bereits eine Datei in WORD vorliegen hat, die man nur einlesen will.
Die Frage nach dem Erstellen einer Word-Datendatei aus einer Excel-Userform heraus stelle ich bei Gelegenheit am besten einmal separat. Werner

Anzeige
AW: Daten in WORD eingeben ist umständlich
07.05.2008 20:47:53
Uduuh
Hallo Werner,
ich glaube, Rudi meint was in der Art:
https://www.herber.de/bbs/user/52211.zip
Das hat mit WORD nichts zu tun. Die Daten werden in einer normalen Textdatei gespeichert, die du auch mit Notepad o.ä. bearbeiten kannst. Die muss noch nicht einmal mit txt enden, du kannst auch eine .werner erzeugen wenn du willst (im Explorer erscheint die dann als 'werner-Datei' ;-))
Prinzpiell ist die Anzahl der Datensätze nicht begrenzt, also auch in xl97 mehr als 65536. Nur die Performance wird grottenschlecht.
ACHTUNG! Das Ding ist eine Spielversion und (noch) nicht für wichtige Daten geeignet!
Gruß aus’m Pott
Udo

Anzeige
OK
Werner
Hallo Uduuh,
habe ich inzwischen selbst herausgefunden. Trotzdem danke für deinen Hinweis! Ich arbeite mit EditPadLite und kann die Textdatei damit schnell erzeugen (Beispielcode in VBA z.B. in Weber/Schiffer, "Das Excel-Handbuch", p. 1008). Das Problem hatte ich heute auch schon mit Arnim in diesem Forum diskutiert. Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige