Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Sleep-Funktion integrieren
11.05.2021 08:52:13
Martin
Hallo =)
ich google und google aber irgendwie bin ich dennoch zu dämlich die SleepFunktion in meinem Progrämmchen einzubauen und so sauber zu warten und nicht wie wait mit größerer Ungenauigkeit.
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Sollte ja die Codezeile für neuere 64 Bit Versionen sein?!
Doch wo muss ich die Codezeile einbauen?
Am besten global, dass ich die Zeile nicht überall einbauen muss, wo ich eine Haltezeit möchte (konkret denke ich es zu brauchen, weil ich nicht immer ein Tabellenblatt lösche und teilweise überspringe... Option2 die ich mir vorstellen könnte was hilft, meine Funktionen SpeedOn und SpeedOff.
Testprogramm:

Private Sub CommandButton1_Click()
MsgBox "Jetzt"
Sleep (10000)
MsgBox "Jetzt +10"
End Sub
Lösung2 Offtopic?
'Speedblock on
With Application
.ScreenUpdating = False
.DisplayStatusBar = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
ActiveSheet.DisplayPageBreaks = False
End Sub

Private Sub SpeedOff()
'Speedblock off
With Application
.ScreenUpdating = True
.DisplayStatusBar = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
ActiveSheet.DisplayPageBreaks = True
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sleep-Funktion integrieren
11.05.2021 09:02:24
Oberschlumpf
Hi Martin,
die Zeile
Public Declare PtrSafe.....
gehört in ein allgemeines Modul, direkt unterhalb von Option Explicit.
Wenn deine Code-Module den immer ersten Eintrag Option Explicit nicht enthalten, solltest du ihn verwenden.
Mehr Infos zu Option Explicit gibt es im Internet.
Hilfts?
Ciao
Thorsten
AW: Sleep-Funktion integrieren
11.05.2021 09:35:28
Martin
Hi Thorsten,
Danke
ok werde ich mir genauer anschauen und hoffe ich werde schlau daraus.
Heisst aber auch, dass meine globalen Variablen, die ich einfach ganz am Anfang mit DIm... geschrieben habe, keine gute Einbindung darstellt?
AW: Sleep-Funktion integrieren
11.05.2021 09:45:48
Martin
Ok ich bin definitiv zu blöd....
finde kein Beispiel für die Sleepfunktion, wo ich in einem ganzen Programmcode sehe wie es eingebunden und deklariert wurde.
Option explicit ganz oben reinschreiben erlaubt mir auch nicht, dass
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
einfügen und dann Sleep nutzen kann.
help :(
Anzeige
AW: Sleep-Funktion integrieren
11.05.2021 09:51:25
Martin
Hier noch die genaue Fehlermeldung:
Fehler beim Kompilieren:
Konstanten, Zeichenfolgen fester Länge, benutzerdefinierte Datenfelder und Declare-Anweisungen sind als Public-Elemente von Objektmodulen nicht zugelassen.
(auch das Public löschen etc. hat nicht geholfen.....)
AW: Sleep-Funktion integrieren
11.05.2021 09:59:22
Martin
Ok Lösung war wie folgt.
Der Programmcode ist in einem Objekt/Arbeitsmappe.
Links im Menü habe ich den Declare Code in Modul 1 eingefügt und simsalabim konnte ich den Code nutzen.
#If VBA7 Then
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
p.s. würde es sinn machen den ganzen Code im Modul und nicht in der Arbeitsmappe zu haben?
Wird via Buttons ausgelöst.
Anzeige
AW: Sleep-Funktion integrieren
11.05.2021 10:38:11
Nepumuk
Hallo Martin,
in das Modul "DieseArbeitsmappe" gehören nur Events der Mappe. Genauso wie in den Modulen der Tabellen nur Events von Tabellen kommen. Alles andere gehört in Standardmodul (Menüleiste im VBA-Editor - Einfügen - Modul).
Gruß
Nepumuk
AW: Sleep-Funktion integrieren
11.05.2021 10:44:02
Oberschlumpf
hmm...ein Hallo + Tschüss wären nett...
Ob alles an Code in allgemeinen Modulen oder in den Tabellen-Modulen steht, ist davon abhängig, was du erreichen willst.
Z Bsp die Reaktion auf das Anklicken einer bestimmten Zelle MUSS im Worksheet_Change-Ereignis im Tabellenmodul stehen und würde gar nicht helfen im allgemeinen Modul.
Ich schreibe Code, die abhängig von Ereignissen sind, in das jeweilige Tabellenmodul und selbst erstellte Subs + Functions lager ich gern ins allgemeine Modul aus.
Aber das ist nur meine Art zu programmieren.
Anzeige
AW: Sleep-Funktion integrieren
11.05.2021 10:56:25
Martin
Hi Schlumpf,
da ich dreimal auf mich geantwortet habe, keine Grußformeln an mich ;)
Danke euch beiden für die ergänzenden Erklärungen! Hat mir weitergeholfen.
Euch noch eine schöne Woche. lg

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige