Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Beim öffnen aktualisieren verhindern

Frage Entwicklung VB for Applications

Mitglied: Memo66

Memo66 (Level 1) - Jetzt verbinden

02.04.2014 um 16:15 Uhr, 4752 Aufrufe, 9 Kommentare

Hallo zusammen,

ich habe da ein kleines Problem und ich hoffe ihr könnt mir helfen

Ich habe eine riesige Exceldatei mit ziemlich vielen Formeln (Mit den Formeln hole ich Daten aus einer Datenbank).
Beim Öffnen der Datei rechnet Excel erst einmal eine ganze weile.
Wie kann ich das am besten abstellen?

Private Sub Workbook_Open()

Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

EndSub

...funktioniert leider nicht bzw. nur wenn die Datei schon geöffnet ist :/


Grüße
Memo


Mitglied: Meierjo
03.04.2014 um 08:38 Uhr
Hallo Memo66

Und wenn du den Code in ein Auto open schreibst??

Sub auto_open()
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False
End Sub

Gruss meierjo
Bitte warten ..
Mitglied: Memo66
03.04.2014 um 09:36 Uhr
Hi meierjo,

vielen Dank für deine Rückmeldung.

Das ding ist, wenn ich die Datei öffne, wird das Blatt nicht vollständig angezeigt und unten rechts sehe ich wie Excel rechnet.
Wenn ich aber auf irgendeine Zelle klicke, wird das Blatt vollständig angezeigt und auch betriebsbereit.

Grüße
Memo
Bitte warten ..
Mitglied: Meierjo
03.04.2014 um 09:50 Uhr
Hallo

Wenn ich aber auf irgendeine Zelle klicke, wird das Blatt vollständig angezeigt und auch betriebsbereit.

Heisst das, dass wen du währen dem Berechnungsvorgang in eine Zelle klickst (zB A1), das Blatt erst vollständig anzeigt wird?
Wie gross ist die Datei?
Wieviele Zellen sind befüllt?
Was heisst, rechnet eine Weile? Wie lange?
Wie ist der Pc bestückt?
Sind da Makros drin??
Wäre hiflreich, wenn du die Tabelle (zb mit Muster-Daten gefüllt) ins Netz stellen könntest.


gruss meierjo
Bitte warten ..
Mitglied: Memo66
03.04.2014 um 17:39 Uhr
Hi,

-also wenn ich die Datei öffne, sehe ich nur weiße Felder und ich sehe unten rechts wie er rechnet. Wenn ich dann irgendwo reinklicke wird alles korrekt angezeigt und das Sheet ist ready to go.

-Die Datei ist 300KB groß mit 10 Reitern.

-Pro Blatt sind ungefähr 700 Zellen mit Formeln hinterlegt, die Werte aus einem anderen System ziehen.

-Bei fünf Minuten habe ich abgebrochen.

-Es sind Makros drin zum Formatieren ect.
Diese Makros habe ich aber auch in anderen Berichten drin und da läuft alles ohne Probleme.

Meine neuste Erkenntnis ist:
Bis auf ein Blatt habe ich alle Reiter gelöscht und das Problem besteht weiterhin. An der Menge der Daten kann es also nicht liegen zumal ich die Berechnung ja ausschalte.


Grüße
Memo
Bitte warten ..
Mitglied: Meierjo
03.04.2014 um 18:36 Uhr
Hallo Memo66

- Also 300Kb ist nicht wirklich gross, hast du dich da verschrieben?? Wenn die Mappe wirklichnur 300 kb ist, stell sie doch ins Netz.
- Wie ziehst du den die Werte aus einem anderen System? Ist das ein anderer PC? Ueber Lan verbunden? Domäne?

Ich würde da mal den Hebel ansetzen. Versuchsweise die Daten, die gezogen werden sollen, auf den selben PC kopieren, und sehen, obs dann schneller wird.

Oder mal die Makros deaktivieren. Sind das Makros, die automatisch neu berechnen, wenn sich in einem Tabellenblatt was ändert? Wenn dem so ist, dann laufen die Makros beim berechnen natürlich ständig durch, dass könnte dann die Performance schon bremsen?

Gruss meierjo
Bitte warten ..
Mitglied: Memo66
04.04.2014 um 11:16 Uhr
Hi meierjo,

die Datei ist wirklich nur 300Kb groß.
Sagt dir IBM Cognos TM1 was? Das ist eine multidimensionale Datenbank. Mithilfe eines Excelplugins kann ich mit Formel Daten in Excel ziehen.
Normalerweise funktionert das auch wunderbar.
Die Datei kann ich leider nicht online stellen, zu sensibel das ganze.

Ich habe das das Problem gefunden weiß aber nicht wie ich das beheben kann.

Wenn ich eine neue Excel Instanz starte, dann ist das auto berechnen an und dadurch dauert das ganze so lange. Ich habe mal folgendes versucht:

Private Sub Workbook_Open()
'
MsgBox ("test")
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

End Sub

Damit ich sehe, wann der Code die Autobrechnung auf manuell stellt.

Wenn ich also eine neue Instanz starte, rechnet Excel erst fleißig und dann erst bekomme ich die msgbox angezeigt.

Wenn ich die Datei jetzt schließe und wieder in der selben Instanz öffne, funktioniert alles wunderbar weil ich ja beim ersten öffnen die Autoberechnung auf manuell gesetzt habe.

Gibt es eventuell einen Befehl, der sofort nach dem öffnen greift und dann erst dann die anderen Sachen berechnet?
Oder sollte das 'Workbook_open' eigentlich machen?

Grüße
Memo
Bitte warten ..
Mitglied: Meierjo
04.04.2014 um 11:21 Uhr
Hallo

Und wenn du, wie ich 1. Beitrag geschrieben habe, eine auto_open Sub verwendest? Wird dann die MSGBOX vor dem berechnen angezeigt??

Gruss
Bitte warten ..
Mitglied: Memo66
04.04.2014 um 11:32 Uhr
Hi,

dann passiert überhaupt nichts.
Nachdem Excel gerechnet hat, erscheint weder eine MsgBox noch wird die Autoberechnung auf manuell gesetzt.
Bitte warten ..
Mitglied: Meierjo
04.04.2014 um 11:42 Uhr
Hallo

Sorry, kann grade keine Bilder hochladen, weiss nicht warum.

Den Sub Auto_open musst du in einem "allgemeinen Modul" platzieren, nicht im Modul "diese Arbeitsmappe"

Gruss
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Windows 10
gelöst Herunterfahren RDP Windows 10 verhindern (4)

Frage von micha055 zum Thema Windows 10 ...

Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...