Hallo Leute,
da meine Exceltabellen ziemlich langsam aufgehen (große Datenmenge) wollte ich mir evtl als Spaß so eine Sanduhr oder einen drehenden Kopf beim Start einbauen.
Ist dies irgendwie möglich?
Besten Dank
Bert
Hi Bert,
ob das eventuell mit einem Makro lösbar wäre, müssen dir die VBA-Spezialisten sagen. Aber: wenn deine Datei schon so langsam lädt, warum willst du sie denn noch zusätzlich belasten?
Bzgl. des langsamen Ladens: vllt. solltest du mal schauen, ob du deine Datei ein wenig entfrachten kannst. Vor allem volatile Funktionen bremsen eine Datei ziemlich aus. Dazu kann ich dir diesen Lesestoff empfehlen:
http://www.online-excel.de/excel/singsel.php?f=171
schau mal das Ergebnis an von:
Code:
sub M_snb()
for each it in sheets
c00=c00 & vblf & it.name & vbtab & "shapes: " & it.shapes.count
next
msgbox c00
End Sub
Ein paar nützen meine Excel-Datein und da wollt ich irgend etwas vorlagern.
Beim Aufmachen der Excel sollte dann irgendetwas kommen.
Was bringt mir der Makro?
Mir wird angezeigt wieviele shapes ich pro Reiter habe?
Was kann ich damit anfangen?
besten Dank
Bert
Hallo Bert,
ich habe mal eine Tabelle mit 200 Mill. belegte Zellen angelegt.
Wenn ich die Datei starte ist ohnehin ein Ladebalken unter rechtes zu sehen und der "Standardkreis" dreht sich für ca. 10 Sek.
Würde ich noch einen Ladebalken integrieren werden....würde diese Laufzeit nochmal erhöht werden
Wie viele Daten enthält eigentlich deine Mappe mit der großen Datenmenge?
Worauf snb und auch ich hinweisen wollen, ist anstatt einen Ladebalken zu integrieren die Datei zuerst mal optimieren, ein Ladebalken ist zu 99% überflüssig.
47 MB ist diese groß.
Mir gehts eher drum vor dem Öffnen etwas anzuzeigen.
Erst nach dem "klicken" geht es weiter.
Hallo Bert,
vielleicht könntest Du die
Dateigröße reduzieren.
Hallo Robert,
Zitat:47 MB ist diese groß.
du hast meinen Beitrag (#2) schon gelesen?
Ich fürchte das die Datei viele unerwünschte, 'hidden' Shapes enthhällt.
Deswegen das Makro das herauszufinden.
Hallöchen,
dass es erst weiter geht, wenn Du auf die Meldung klickst, war am Anfang aber nicht beschrieben.
Du könntest einfach beim Öffnen eine Meldung ausgeben:
Code:
Private Sub Workbook_Open()
'Meldung ausgeben
MsgBox "Es dauert etwas!"
End Sub
Du könntest auch eine Meldung ausgeben, die von alleine weggeht, wenn Du nicht klickst:
Code:
Private Sub Workbook_Open()
'Variablendeklaration - Objekt - Late Binding
Dim objWSH As Object
'Scripting zuweisen
Set objWSH = CreateObject("WScript.Shell")
'Scriptmeldung für maximal 5 Sekunden ausgeben
objWSH.popup "Es dauert etwas", 5, "Drück mal"
End Sub
Alternativ könntest Du auch eine userform ausgeben, von Workbook_Open gestartet und irgendwann oder irgendwie beendet.
Dazu startest Du das userform modeless:
Code:
UserForm1.Show vbModeless
Allerdings wird das eine oder andere von Excel bereits vor der Ausführung des Workbook_Open getan ...