Exceldatei verdoppelt seine Größe??

  • #1
M

madmaxcompu

Mitglied
Themenersteller
Dabei seit
03.09.2004
Beiträge
16
Reaktionspunkte
0
Hallo,
Ich habe eine Exceldatei mit 12 Tabelle, verschiedenen Formatierungen und einigen Makros ( es ist ein Dienstplan). Am Ende eines Jahres lösche ich alle Werte und einige Formatierungen (Farben) aus allen Tabellen. Die Grundform der Tabellen bleibt sowie alle Formeln und Makros. Nun ist mir aufgefallen, dass sich die Dateigröße verdoppelt hat vom voll ausgefüllten Dienstplan eines Jahres mit ca. 10MB auf ca. 20MB des selben Planes ohne Daten?
Weis jemand an was das liegen kann?

mfg madmaxcompu
 
  • #2
Hallo madmaxcompu,

vor kurzem hatte ich auch so ein Problem am Wickel - auch ein Diestplan.

Dort war es so, daß alle überflüssigen Zeilen/Spalten ausgeblendet waren. Durch ziehen über den unteren Rand wurden aber auf einem Tabellenblatt 65535 Zeilen erzeugt, und das auch noch mit Inhalt. Das ging dann auch in die Megabytes.

Der folgende Makro hat bei der Aufdeckung geholfen. Er gibt dir alle Blätter mit der benutzten Zeilenanzahl aus. Probiers mal aus.

Gruß Matjes :)
Code:
Sub ZeilenAnzahlDerBlätterKontrollieren()
  
  Const c_MAX_ZEILEN_PRO_MELDUNG = 20
  Const c_BREITE_ZEILEANGABE = 5
  
  Dim r As Long, ws As Worksheet
  Dim l_zaehler As Long, s_tmp As String, s_r As String
  Dim l_AnzLeerzeichen As Long, l_AnzStellen As Long
  
  s_tmp = Die Tabelleblätter haben folgende Zeilenanzahl & vbLf & vbLf
  
  l_zaehler = 0
  For Each ws In Worksheets
    
   ->Meldungpro Blatt zusammenstellen
    r = ws.UsedRange.Rows.Count
    s_r = r
    l_AnzLeerzeichen = c_BREITE_ZEILEANGABE - Len(s_r)
    If l_AnzLeerzeichen < 0 Then l_AnzLeerzeichen = 0
    l_AnzStellen = Len(s_r)
    s_tmp = s_tmp & _
            Format(r, String(l_AnzLeerzeichen, _) & _
                      String(Len(s_r), 0)) _
            & vbTab & ws.Name & vbLf
    
   ->max. Zeilenanzahl pro Meldung erreicht ?
    l_zaehler = l_zaehler + 1
    If l_zaehler = c_MAX_ZEILEN_PRO_MELDUNG Then
      MsgBox (s_tmp): s_tmp = : l_zaehler = 0
    End If
  Next
  If l_zaehler <> 0 Then MsgBox (s_tmp)
End Sub
 
  • #3
Oh ja, jedes Tabellenblatt hat so ca. 36200 Seiten. Dumme Frage aber wie lösche ich diese?

mfg madmaxcompu
 
  • #4
Wirklich dumme Frage von mir, ich habe die zellen markiert und gelöscht und siehe da die Dateigröße ist nur noch ein zehntel so groß, super.

Danke madmaxcompu
 
Thema:

Exceldatei verdoppelt seine Größe??

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.489
Neuestes Mitglied
DonMartin
Oben