Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Benötige dringend Hilfe: Tabelle wird immer größer

Benötige dringend Hilfe: Tabelle wird immer größer
Tim
Hallo,
ich habe heute ein großes Problem, bei dem ich dringend Hilfe benötige:
In einer Tabelle habe ich 5 Blätter, wovon nur 2 größere Daten-/Formelmengen beinhalten.
Auch diese 2 enthalten lediglich ca. 500 bzw. 1000 Zeilen.
Die Datei enthält keine Bilder und auch keine Verweise zu anderen Tabellen, jedoch mehrere Makros.
Nun ist mir aufgefallen, dass die Datei seit einiger Zeit immer größer wird (aktuell ca. 9 MB) und das ohne, dass ich viele Daten hinzufüge.
Ich habe die Vermutung, dass Excel hier evtl. einiges im Hintergrund speichert, ohne dass ich es mitbekomme.
Kann das an Makros liegen, die Message Boxen erstellen und gibt es irgendeinen Trick, das zu vermeiden bzw. vor dem Speichern zu bereinigen ?
Hoffe, Ihr könnt mir weiterhelfen.
VG und vielen Dank im Voraus, Tim
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 09:00:43
Tim
...hier noch eine Ergänzung:
Ich konnte das Problem jetzt eingrenzen:
Es bezieht sich nur auf ein einziges Blatt (Blatt2) - entferne ich das, habe ich statt 9MB nur ca. 200 KB !
An der Datenmenge kann es hier nicht liegen, allerdings ist das genau das Blatt, auf dem die meisten Makros ablaufen und die Message Boxen erstellt werden.
VG, Tim
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 09:32:38
Marc
Vielleicht wäre es hilfreich, diese Tabelle mal zur Verfügung zu stellen...
Gruß, Marc
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 09:54:37
Tim
Hallo Marc,
das kann ich in diesem Fall leider nicht, da Tabelle Firmendaten enthält und wenn ich die lösche, zu vieles nicht mehr korrekt funktioniert.
Ich bin mir mittlerweile allerdings ziemlich sicher, dass es an den Message Boxen liegt.
Das Blatt enthielt zuvor eine Spalte (K) und die Funktion, dass beim Klick in diese Spalte eine Message Box mit dem jeweiligen Inhalt aus Spalte T erscheint.
Lösche ich diesen Code und die zwei betreffenden Spalten + alle unbenutzten Zeilen und Spalten auf diesem Blatt, hat die Datei nur noch 1 MB statt 9 MB.
Kann es sein, dass Excel hier so eine Art Cache für die Message Boxen anlegt und wenn ja, gibt es eine Möglichkeit, diesen Speicher regelmäßig / automatisch zu löschen ?
Hilft das weiter ?
VG, Tim
Anzeige
an Msgbox liegt es nicht!
17.04.2012 12:27:37
Sheldon
Hallo Tim,
ich denke, du bist hier der Lösung bereits auf der Spur - lösch mal nut die "ungenutzten Zeilen und Spalten auf dem Blatt". Der Code frisst keinen Speicher, die "beiden betreffenden Spalten" nur dann, wenn dort ewig viele Werte oder besser noch Formeln mit externen Bezügen drin stehen. Es gibt jedenfalls keinen Cache für Msgboxen.
Gruß
Sheldon
Anzeige
AW: an Msgbox liegt es nicht!
17.04.2012 12:44:39
Tim
Hallo Sheldon,
vielen Dank auch für Deine Rückmeldung !
Ich habe unter der Antwort von Rolf geantwortet, um die Threads wieder zusammenzufassen. :-)
VG, Tim
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 10:24:59
Andi
1) Welches Datei Format wird verwendet? xls oder xlsm?
2) Wenn xls, speichere das Ganze als xlsm ab.
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 11:45:18
Tim
Hallo Andi,
vielen Dank !
Ich verwende bereits xlsm. :-)
VG, Tim
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 12:26:26
Rolf
Hallo Tim,
dein Problem kommt mir (leider) sehr bekannt vor. Versuch mal mittels Tasten-Kombi Strg+Ende festzustellen, wo dein Datenbereich endet. Sofern "leere" Zeilen/Spalten rechts bzw. unten in diesem Bereich enthalten sind:
1. überflüssige Zeilen/Spalten löschen
2. Datei speichern und schließen
3. Datei erneut öffnen, mit Strg+Ende prüfen
M.E. liegt es nicht an den MsgBoxen.
Gruß, Rolf
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 12:41:47
Tim
Hallo Rolf,
vielen Dank für Deine Mitteilung und zumindest etwas beruhigend, dass es nicht nur mich bzw. mein Excel betrifft. ;-)
Der Tipp mit STRG+Ende war gut - das kannte ich noch nicht.
Die Datei ist jetzt ohne die Spalte mit den Message Boxen ca. 1 MB groß, was ok und dem tatsächlichen Inhalt entsprechend ist.
Ich werde es jetzt noch einmal mit den Boxen probieren und vorsichtshalber unter neuem Namen abspeichern.
Gibt es denn eine Möglichkeit, so etwas beim Speichern zu überprüfen, d.h. wenn Zellen auf Blatt2 außerhalb Bereich A1:T1200 Werte, Formate etc. enthalten, kann man die dann automatisch löschen lassen ?
VG, Tim
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 14:01:36
Rolf
Hallo Tim,
klar kann Mann. Das Makro darf nicht in einem Arbeitsblatt (Tabelle) hinterlegt sein, sondern in "DieseArbeitsmappe"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'löscht alle überflüssigen Zellen
Dim lS As String, lZ As String, Letzte As String
Sheets("Tabelle1").Select
ActiveCell.SpecialCells(xlLastCell).Select
Letzte = ActiveCell.Address
lS = "U1:" & Letzte & ""
lZ = "A1201:" & Letzte & ""
With ActiveSheet
.Range(lS).Delete
.Range(lZ).Delete
End With
End Sub
Gruß, Rolf
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 16:32:08
Tim
Hallo Rolf,
das ist ja super und funktioniert wunderbar ! :-)
Ich glaube, das werde ich jetzt in jeder größeren Datei verwenden. ;-)
Viele Grüße und vielen Dank dafür, Tim
AW: Benötige dringend Hilfe: Tabelle wird immer größer
18.04.2012 16:37:05
Rolf
Hallo Tim,
noch zwei nützliche Tips.
Direkte Zellbezüge, wie z.B. Range("U1") sind immer eine heiße Kiste. Wenn du später mal eine zusätzliche Spalte einfügst, greift das Makro immer noch auf "U1" zu und nicht auf "V1". Besser ist es, vorsichtshalber in der excel-Tabelle Bereichsnamen zu definieren und sich im Makro darauf zu beziehen. Bei der Namensgebung ist es von Vorteil ein Kürzel des Tabellennamens voranzustellen; das verbessert die Übersichtlichkeit bei mehreren Tabellen in der gleichen Datei. Für die Zelle "U1" in deinem Beispiel könntest du z.B. den Namen Tab1_lS vergeben.
Das Makro lautet dann folgendermaßen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'löscht alle überflüssigen Zellen
Sheets("Tabelle1").Select
Tab1_lS = Range("Tab1_lS").Offset(0, 1).Address
Tab1_lZ = Range("Tab1_lZ").Offset(1, 0).Address
Dim lS As String, lZ As String, Letzte As String
ActiveCell.SpecialCells(xlLastCell).Select
Letzte = ActiveCell.Offset(1, 1).Address
With ActiveSheet
.Range(Tab1_lS & ":" & Letzte).Delete
.Range(Tab1_lZ & ":" & Letzte).Delete
End With
Range("A1").Select
End Sub
Um die Bereichsnamen zu schützen, würde ich die Spalte "U" und die Zeile "1201" mit dunkelblauem Hintergrund formatieren, die Breite auf 0,42 und die Höhe auf 3,75 reduzieren. Das obige Makro löscht alle Zellen rechts von Spalte "U" und unterhalb der Zeile "1201" bis zur letzten, belegten Zelle (Strg+Ende).
Gruß, Rolf
Anzeige
AW: Benötige dringend Hilfe: Tabelle wird immer größer
18.04.2012 20:36:17
Tim
Hallo Rolf,
das ist super und etwas, das ich ganz sicher von jetzt an verwenden werde ! :-)
Eine riesengroße Hilfe auch im Hinblick auf Dateien, die man nicht selber verwaltet etc.
Vielen Dank dafür !
Viele Grüße und einen schönen Abend noch, Tim
AW: Benötige dringend Hilfe: Tabelle wird immer größer
17.04.2012 13:53:05
Tim
Hallo nochmal an alle,
das Problem ist gelöst - vielen Dank für alle Hilfe dabei ! :-)
Offenbar lag es an den Formeln, nicht an Codes.
Ich hatte in einer der Spalten mit mehreren SVerweisen gearbeitet und das in Kombination mit den Codes, die den Inhalt der betreffenden Zellen in Message Boxen anzeigen sollten, war offenbar zu viel des Guten. ;-)
Der SVerweis scheint irgendwie im Allgemeinen nicht gerade eine der besten Formeln zu sein - egal..
VG und vielen Dank nochmal - einen schönen Nachmittag, Tim
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei wird immer größer – Lösungen und Tipps


Schritt-für-Schritt-Anleitung

Wenn deine Excel-Datei immer größer wird, ohne dass du signifikant neue Daten hinzufügst, kannst du folgende Schritte durchführen, um das Problem zu beheben:

  1. Überflüssige Zeilen und Spalten löschen:

    • Nutze die Tastenkombination Strg + Ende, um zu überprüfen, wo dein Datenbereich endet.
    • Falls leere Zeilen oder Spalten vorhanden sind, gehe zu diesen und lösche sie.
  2. Makros überprüfen:

    • Wenn du Makros verwendest, die häufig Message Boxen erzeugen, kann dies den Speicherverbrauch erhöhen. Überlege, ob du diese reduzieren oder optimieren kannst.
  3. Datei speichern und schließen:

    • Speichere die Datei nach dem Löschen der überflüssigen Zeilen/Spalten und schließe sie.
    • Öffne die Datei erneut und prüfe, ob sich die Größe reduziert hat.
  4. Makro zur automatischen Bereinigung erstellen:

    • Du kannst ein Makro erstellen, das beim Speichern überflüssige Zellen löscht. Hier ein Beispiel:
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
        'löscht alle überflüssigen Zellen
        Dim lS As String, lZ As String, Letzte As String
        Sheets("Tabelle1").Select
        ActiveCell.SpecialCells(xlLastCell).Select
        Letzte = ActiveCell.Address
        lS = "U1:" & Letzte
        lZ = "A1201:" & Letzte
        With ActiveSheet
            .Range(lS).Delete
            .Range(lZ).Delete
        End With
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Datei wird trotz weniger Daten größer
    Lösung: Überprüfe, ob leere Zeilen oder Spalten vorhanden sind. Diese können die Dateigröße unnötig erhöhen.

  • Fehler: Makros verursachen hohe Dateigröße
    Lösung: Reduziere die Anzahl der Message Boxen oder optimiere den Code, um weniger Speicher zu verbrauchen.

  • Fehler: SVerweis führt zu hoher Dateigröße
    Lösung: Wenn du viele SVerweis-Formeln verwendest, erwäge Alternativen oder die Verwendung von Bereichsnamen, um die Übersichtlichkeit und Performance zu verbessern.


Alternative Methoden

  • Formatierung: Manchmal kann die Formatierung von Zellen dazu führen, dass die Datei größer wird. Überprüfe, ob du unnötige Formate entfernen kannst.
  • Daten in andere Formate exportieren: Exportiere die Daten in ein anderes Format (z.B. CSV), um die Größe zu reduzieren, und importiere sie dann wieder in eine neue Excel-Datei.

Praktische Beispiele

  • Optimierung von Makros: Anstatt direkte Zellbezüge zu verwenden, definiere Bereichsnamen und beziehe dich in deinem Makro auf diese. Zum Beispiel:

    Tab1_lS = Range("Tab1_lS").Offset(0, 1).Address
  • Cache leeren: Wenn Excel im Hintergrund Daten speichert, kannst du das Makro zur Bereinigung direkt zu Beginn des Speichervorgangs ausführen, um sicherzustellen, dass keine überflüssigen Zellen bleiben.


Tipps für Profis

  • Verwende gültige Bereichsnamen, um die Übersichtlichkeit zu erhöhen und mögliche Fehler zu vermeiden.
  • Reduziere die Anzahl der Zellen, die in Formeln referenziert werden, um die Leistungsfähigkeit zu verbessern.
  • Nutze die Format Painter-Funktion, um Formatierungen schnell zu übertragen, ohne die Dateigröße unnötig zu erhöhen.

FAQ: Häufige Fragen

1. Was ist grösser: MB oder KB?
MB (Megabyte) ist größer als KB (Kilobyte). 1 MB entspricht 1024 KB.

2. Wie kann ich die Größe meiner Excel-Datei reduzieren?
Entferne überflüssige Zeilen/Spalten, optimiere Makros und überprüfe die Formatierung der Zellen.

3. Warum wird meine Excel-Datei trotz weniger Daten größer?
Dies kann an versteckten Formeln, überflüssigen Daten oder Makros liegen, die mehr Speicher verbrauchen, als du denkst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige