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
GELÖST

VBA 6.5 Countdown

Frage Entwicklung VB for Applications

Mitglied: Darth-Caedus-84

Darth-Caedus-84 (Level 1) - Jetzt verbinden

26.02.2011 um 22:54 Uhr, 6902 Aufrufe, 5 Kommentare

Problem beim Einrichten eines Countdowns mit Visual Basic 6.5

Hallo zusammen

Ich bin wahrscheinlich zu dumm, um Visual Basic 6.5 zu prgrammieren.

Ich wollte eigentlich ganz einfach einen Countdown mit einer vorgegebenen Zeit definieren und dass dieser beginnt herunter zu zählen und die verfügbare Restzeit in einem Label ausgibt. Leider hat sich hier die Logik mit VBA 6.5 geändert. Habe schon rauf und runter gegoogelt, leider ohne Erfolgt. Hier nochmals das genaue Ziel:

Countdown mit fix definierter Zeit soll beim Aktivieren eines CommandButtons beginnen und die restliche Zeit in einem Label ausgeben. Schön wäre noch, wenn es möglich wäre bei der Ausgabe Stunden, Minuten und Sekunden anzuzeigen.

Gruss
Caedus
Mitglied: bastla
27.02.2011 um 00:35 Uhr
Hallo Darth-Caedus-84!

Das könnte etwa so gehen:
01.
Zeit = TimeSerial(3, 20, 0) '200 Minuten 
02.
Ende = Now + Zeit 
03.
Pause = 1 / 87000 'etwas weniger als eine Sekunde 
04.
Do 
05.
    Label1.Caption = FormatDateTime(Ende - Now, vbLongTime) 
06.
    Application.Wait Now + Pause 
07.
Loop Until Now >= Ende
Alternativen findest Du zB hier (wobei die Variante mit "WScript.Sleep" unter VBA nicht funktioniert) ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.02.2011 um 11:07 Uhr
Bitte warten ..
Mitglied: Darth-Caedus-84
27.02.2011 um 13:00 Uhr
Hey bastla

Supi, thx für die schnelle Antwort, es funktiert. Jedoch nocheine kurze Anschlussfrage. Wie muss ich das Ganze ergänzen, wenn ich möchte, dass ich während dem Countdown z. Bsp. andere CommandButtons normal betätigen kann? Dies geht ja bei der obgenannten Variante leider nicht.

Gruss
Caedus
Bitte warten ..
Mitglied: bastla
27.02.2011 um 13:21 Uhr
Hallo Darth-Caedus-84!

Versuch es mit der API-Variante - dazu müsstest Du dann in der Schleife die Zeile 6 durch einen Aufruf von "Sleep" ersetzen ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
27.02.2011 um 13:24 Uhr
Hallo bastla!

Zitat von bastla:
Versuch es mit der API-Variante - dazu müsstest Du
dann in der Schleife die Zeile 6 durch einen Aufruf von "Sleep" ersetzen ...
Das hatte ich schon versucht und funktioniert leider nicht (von daher obigen Kommentar entfernt)

@Darth-Caedus-84!

Andere Möglichkeit für Dein Vorhaben wäre z.B.

UserForm:
01.
Private Sub CommandButton1_Click() 
02.
    Zeit = Now + TimeSerial(0, 1, 0) 'Std, Min, Sek 
03.
    Call CountdownRefresh 
04.
End Sub
Modul:
01.
Public Zeit As Date 
02.
 
03.
Sub ShowUserForm() 
04.
    UserForm1.Show 
05.
End Sub 
06.
 
07.
Sub CountdownRefresh() 
08.
    If Now > Zeit Then 
09.
        'Mach was oder auch nicht! 
10.
    Else 
11.
        UserForm1.Label1.Caption = FormatDateTime(Zeit - Now, vbLongTime) 
12.
        Application.OnTime Time + 0.0000114, "CountdownRefresh" 
13.
    End If 
14.
End Sub
Wobei das Contdown-Label praktisch im Hintergrund aktualisiert wird.

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA Textformatierung Kalenderwoche (3)

Frage von Florian86 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA Tabelleblätter kopieren und Umbenennnen (8)

Frage von Florian86 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel - VBA - Fusszeile Text und Grafik (1)

Frage von Juckie zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (17)

Frage von Pandreas zum Thema Windows Userverwaltung ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...