Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Tabellenblatt Datengröße

Betrifft: Tabellenblatt Datengröße von: Johannes Albl
Geschrieben am: 16.09.2014 12:03:05

Hallo,

wie kann ich denn herausbekommen, wie groß jedes einzelne Tabellenblatt von mir ist?

Habe eine Excel-Datei mit ca. 40 Blättern die sind 15 MB groß, gestern waren es noch 4. Möchte herausbekommen woran das liegt.

Grüße

Johannes

  

Betrifft: Speichere die einzelnen Blätter als Datei von: Matthias L
Geschrieben am: 16.09.2014 12:13:28

Hallo Johannes

Leg Dir einen leeren Ornder an.
Dort packst Du Deine Datei rein

Nun lässt Du diesen Code laufen:

Option Explicit
Sub test()
Dim x&
For x = 1 To Worksheets.Count
 Worksheets(x).SaveAs Worksheets(x).Name
Next
End Sub
Am Ende wechselst Du in den Ordner und kannst die Größe der einzelnen Blätter, die nun je eine eigene Datei sind prüfen.

Gruß Matthias


  

Betrifft: AW: Speichere die einzelnen Blätter als Datei von: Johannes Albl
Geschrieben am: 16.09.2014 12:20:07

Hallo Matthias,

hört sich gut an.

Wo muss ich das eingeben? Bin leider kein Makro/VBA spezialist?


  

Betrifft: AW: Tabellenblatt Datengröße von: Daniel
Geschrieben am: 16.09.2014 12:22:43


der folgende Code zeigt dir von jedem Tabellenblatt:
a) wieviele Zellen zum benutzen Bereich gehören (Usedrange)
b) vieliele Zellen einen Inhalt (Formel oder Wert) haben.

schau mal, ob du hier Infos bekommst, ob Excel irgendwo Zellen ohne Inhalt am Tabellenende belegt.
Excel benutzt die freien Zellen am Tabellenende machmal für zwischenrechnungen, aber es kann vorkommen, diesen Bereich dann wieder als frei zu kennzeichnen, er gehört dann zur Usedrange und belegt Speicherplatz.
Das bereinigt man, indem man diese Zellen dann einfach löscht.

Sub CheckSheets()
Dim wsh As Worksheet
Dim AnzUR As Double
Dim AnzBel As Double
Dim Erg As String
For Each wsh In ActiveWorkbook.Worksheets
    Erg = Erg & wsh.Name & " | "
    Erg = Erg & Format(wsh.UsedRange.CountLarge, "#,##0") & " | "
    Erg = Erg & Format(WorksheetFunction.CountA(wsh.UsedRange), "#,##0") & vbLf
Next

MsgBox "Tabelle | benutzt | mit Inhalt" & vbLf & vbLf & Erg, , "Zellenbelgung pro Blatt"
   

End Sub
Gruß Daniel


  

Betrifft: AW: Tabellenblatt Datengröße von: Johannes Albl
Geschrieben am: 16.09.2014 12:45:12

Hallo Daniel,

das Makro ist super.
Es zeigt mir nur nicht alle Blätter an. Ich hab ca. 40.

Hast Du da noch eine Lösung?

Grüße

Johannes


  

Betrifft: AW: Tabellenblatt Datengröße von: Daniel
Geschrieben am: 16.09.2014 13:03:06

Hi
du kannst die Werte auch in einem Tabellenblatt in Zellen ausgeben:

Sub CheckSheets()
Dim wsh As Worksheet
Dim AnzUR As Double
Dim AnzBel As Double
dim i as long
With Sheets("Auswertung")
For Each wsh In ActiveWorkbook.Worksheets
    i = i + 1
    .cells(i, 1).value = wsh.Name
    .cells(i, 2).value = wsh.UsedRange.CountLarge
    .cells(i, 3).value = WorksheetFunction.CountA(wsh.UsedRange)
Next
end with
End Sub
das Blatt "Auswertung" solltst du dir neu anlegen, damit nicht zufällig Daten überschrieben werden.

Gruß Daniel


  

Betrifft: AW: Tabellenblatt Datengröße von: Johannes Albl
Geschrieben am: 16.09.2014 14:10:05

wow! vielen lieben dank!


  

Betrifft: AW: ohne VBA von: Daniel
Geschrieben am: 16.09.2014 12:27:52

Hi
wenn du dich mit VBA nicht auskennst, dann mache folgendes:

Schaue dir jedes Tabellenblatt an und drücke STRG+ENDE
Excel markiert dann die letzte Zelle des von Excel benutzen Zellbereichs.
sollte diese letzte Zelle deutlich unter oder rechts neben dem Zellbereich liegen, den du für deine Daten verwendest, kannst du alle Zeilen und Spalten, die dazwischen liegen, löschen.


Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt Datengröße"